[MXS-2181] Crash occur frequently in MaskingFilterSession::mask_values Created: 2018-11-23  Updated: 2020-08-27  Resolved: 2020-08-27

Status: Closed
Project: MariaDB MaxScale
Component/s: masking
Affects Version/s: 2.2.15
Fix Version/s: N/A

Type: Bug Priority: Major
Reporter: wangle Assignee: Unassigned
Resolution: Cannot Reproduce Votes: 0
Labels: crash
Environment:

CentOS 6.5


Attachments: PNG File image-2018-11-23-18-20-41-371.png     File masking_rules_jzcrm.json    

 Description   

1、maxscale.log
2018-11-23 15:21:21 warning: (461) [masking] The rule targeting "jianzhi_crm.jz_finance_assign_order.account_number" matches a column that is not of string type.
2018-11-23 15:21:21 warning: (461) [masking] The rule targeting "jianzhi_crm.jz_finance_assign_order.account_number" matches a column that is not of string type.
2018-11-23 15:21:21 warning: (461) [masking] The rule targeting "jianzhi_crm.jz_finance_assign_order.account_number" matches a column that is not of string type.
2018-11-23 15:21:21 warning: (461) [masking] The rule targeting "jianzhi_crm.jz_finance_assign_order.account_number" matches a column that is not of string type.
2018-11-23 15:21:21 warning: (461) [masking] The rule targeting "jianzhi_crm.jz_finance_assign_order.account_number" matches a column that is not of string type.
2018-11-23 15:21:21 warning: (461) [masking] The rule targeting "jianzhi_crm.jz_finance_assign_order.account_number" matches a column that is not of string type.
2018-11-23 15:21:21 warning: (461) [masking] The rule targeting "jianzhi_crm.jz_finance_assign_order.account_number" matches a column that is not of string type.
2018-11-23 15:21:21 warning: (461) [masking] The rule targeting "jianzhi_crm.jz_finance_assign_order.account_number" matches a column that is not of string type.
2018-11-23 15:21:21 warning: (461) [masking] The rule targeting "jianzhi_crm.jz_finance_assign_order.account_number" matches a column that is not of string type.
2018-11-23 15:21:21 warning: (461) [masking] The rule targeting "jianzhi_crm.jz_finance_assign_order.account_number" matches a column that is not of string type. (subsequent similar messages suppressed for 10000 milliseconds)
2018-11-23 15:21:21 alert : (461) Fatal: MaxScale 2.2.15 received fatal signal 11. Attempting backtrace.
2018-11-23 15:21:21 alert : (461) Commit ID: 62ce6c15dcd45be035ff6a005ca5539ca3d2adc8 System name: Linux Release string: CentOS release 6.5 (Final)
2018-11-23 15:21:21 alert : (461) /usr/bin/maxscale() [0x406f29]: ??:0
2018-11-23 15:21:21 alert : (461) /lib64/libpthread.so.0(+0xf790) [0x7fd3587b0790]: sigaction.c:0
2018-11-23 15:21:21 alert : (461) /usr/lib64/maxscale/libmasking.so(_ZN20MaskingFilterSession11mask_valuesER9ComPacket+0x26b) [0x7fd353a0d73b]: /home/vagrant/MaxScale/server/modules/filter/masking/mysql.hh:247
2018-11-23 15:21:21 alert : (461) /usr/lib64/maxscale/libmasking.so(_ZN20MaskingFilterSession10handle_rowEP5gwbuf+0x58) [0x7fd353a0d9d8]: /home/vagrant/MaxScale/server/modules/filter/masking/maskingfiltersession.cc:269
2018-11-23 15:21:21 alert : (461) /usr/lib64/maxscale/libmasking.so(_ZN20MaskingFilterSession11clientReplyEP5gwbuf+0x105) [0x7fd353a0e0e5]: /home/vagrant/MaxScale/server/modules/filter/masking/maskingfiltersession.cc:99
2018-11-23 15:21:21 alert : (461) /usr/lib64/maxscale/libmasking.so(_ZN8maxscale6FilterI13MaskingFilter20MaskingFilterSessionE11clientReplyEP10mxs_filterP18mxs_filter_sessionP5gwbuf+0xf) [0x7fd353a0c6cf]: /home/vagrant/MaxScale/include/maxscale/filter.hh:288
2018-11-23 15:21:21 alert : (461) /usr/lib64/maxscale/libmariadbbackend.so(+0x45ae) [0x7fd3538015ae]: /home/vagrant/MaxScale/server/modules/protocol/MySQL/mariadbbackend/mysql_backend.c:1018
2018-11-23 15:21:21 alert : (461) /usr/lib64/maxscale/libmaxscale-common.so.1.0.0(+0x5928c) [0x7fd358c8328c]: /home/vagrant/MaxScale/server/core/dcb.cc:3084
2018-11-23 15:21:21 alert : (461) /usr/lib64/maxscale/libmaxscale-common.so.1.0.0(+0x59458) [0x7fd358c83458]: /home/vagrant/MaxScale/server/core/dcb.cc:3176
2018-11-23 15:21:21 alert : (461) /usr/lib64/maxscale/libmaxscale-common.so.1.0.0(_ZN8maxscale6Worker15poll_waiteventsEv+0x21b) [0x7fd358cbbebb]: /home/vagrant/MaxScale/server/core/worker.cc:1214
2018-11-23 15:21:21 alert : (461) /usr/lib64/maxscale/libmaxscale-common.so.1.0.0(_ZN8maxscale6Worker3runEv+0x121) [0x7fd358cbc191]: /home/vagrant/MaxScale/include/maxscale/log_manager.h:116
2018-11-23 15:21:21 alert : (461) /lib64/libpthread.so.0(+0x7a51) [0x7fd3587a8a51]: pthread_create.c:0
2018-11-23 15:21:21 alert : (461) /lib64/libc.so.6(clone+0x6d) [0x7fd35697293d]: ??:0
2、the table structure
CREATE TABLE `jz_finance_assign_order` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
`bd_id` int(11) NOT NULL DEFAULT '0' COMMENT 'BD的mgmt_userid',
`bd_name` varchar(64) NOT NULL DEFAULT '' COMMENT 'BD姓名',
`bd_email` varchar(64) NOT NULL DEFAULT '' COMMENT 'BD邮箱',
`department_id` int(11) NOT NULL DEFAULT '0' COMMENT 'BD所属部门id',
`department_code` varchar(32) NOT NULL DEFAULT '0' COMMENT 'BD所属部门code',
`post_type` tinyint(4) NOT NULL DEFAULT '0' COMMENT '职位类型:0:普通职位 1:特工任务',
`post_id` int(11) NOT NULL DEFAULT '0' COMMENT '职位id',
`post_title` varchar(128) NOT NULL DEFAULT '' COMMENT '职位名称',
`receipt_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '项目收款单id',
`contract_no` varchar(64) NOT NULL DEFAULT '' COMMENT '合同编号 外包全职拓展',
`company_phone` varchar(11) NOT NULL DEFAULT '' COMMENT '商户手机号',
`company_name` varchar(64) NOT NULL DEFAULT '' COMMENT '商户名称',
`transfer_channel` int(11) NOT NULL DEFAULT '1' COMMENT '转账渠道 1支付宝 2银行卡',
`account_number` varchar(64) NOT NULL DEFAULT '' COMMENT '甲方的转账账号',
`trade_no` varchar(64) NOT NULL DEFAULT '' COMMENT '交易流水号',
`trade_no_sub` int(11) NOT NULL DEFAULT '0' COMMENT '交易流水号子码',
`doubao_no` varchar(32) NOT NULL DEFAULT '' COMMENT '豆包号',
`recharge_money` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '充值金额',
`service_money` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '服务费',
`taxes_money` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '税费',
`deposit_amount` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '本次保证金金额',
`refund_fee_money` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '退款手续费',
`contract_child_id` varchar(32) NOT NULL DEFAULT '' COMMENT '合同子ID',
`remarks` varchar(128) NOT NULL DEFAULT '' COMMENT '备注 由BD填写的',
`do_status` int(11) NOT NULL DEFAULT '0' COMMENT '处理状态 0 待处理 1 处理成功 -1 处理失败',
`ext_status` int(11) NOT NULL DEFAULT '0' COMMENT '扩展状态 0 默认 11 退款 13作废 21已退款 23已作废; 81-cpa充值待划拨;82-cpa充值划拨成功',
`refuse_reason` varchar(128) NOT NULL DEFAULT '' COMMENT '失败原因',
`create_at` int(11) NOT NULL DEFAULT '0' COMMENT '申请时间',
`operate_at` int(11) NOT NULL DEFAULT '0' COMMENT '操作时间',
`income_at` int(11) NOT NULL DEFAULT '0' COMMENT '入账时间',
`b_user_id` int(11) NOT NULL DEFAULT '0' COMMENT '商家userId,B端支付宝转账时用',
`order_type` int(11) NOT NULL DEFAULT '0' COMMENT '资金分别申请单类型 0:crm,1:B端支付宝转账',
`recharge_type` int(11) NOT NULL DEFAULT '0' COMMENT '业务类型,0:正常收款 ,1:B端充值,2:B端发工资3:垫付还款,4:黄金展位广告费,5:铂金展位广告费, 6: 付费零工, 7:项目收款单回款, 8: cpa充值,9:多城市火爆地带,10:资源广告位,11:居间全职RPO 13:钻石广告位(包括渠道钻石)14:优先套餐 15:资金预付 16:淘任务,17:项目垫付回款,18旺才宝职位套餐(年费会员),19无资金分配退款, 20.批量邀约,21:保证金, 22:众包项目',
`ext_type` int(11) NOT NULL DEFAULT '0' COMMENT '扩展类型,1-cpa首次开户/断档充值;2-cpa连续续费充值',
`recharge_info` text COMMENT 'B端充值信息json(account_name:’充值账号名称‘ contact_phone:‘联系电话’)',
`b_call_back` int(11) NOT NULL DEFAULT '0' COMMENT '转账成功后回调B端接口的回调状态(1:成功,2:未成功 ,3:需要回调重试)',
`b_order_id` int(11) NOT NULL DEFAULT '0' COMMENT 'B端转账发工资order_id',
`b_charge_id` int(11) NOT NULL DEFAULT '0' COMMENT 'B端charge_id',
`party_b_company` int(11) NOT NULL DEFAULT '1' COMMENT '乙方公司配置文件1=北京世诚优聘,2=北京新诚优聘',
`finance_assign_order_id` int(11) NOT NULL DEFAULT '0' COMMENT '资金分配单id(退款和作废时有)',
`customer_id` int(11) NOT NULL DEFAULT '0' COMMENT '客户id',
`nonstandard_content` text NOT NULL COMMENT '非标商业产品资金分配单信息',
`user_id` int(11) NOT NULL DEFAULT '0' COMMENT 'B端用户ID',
`company_id` int(11) NOT NULL DEFAULT '0' COMMENT 'B端商户ID',
`images` text COMMENT '确认截图',
`from_transform` int(11) NOT NULL DEFAULT '0' COMMENT '转换生成的资金分配 1钻石转点金',
`transform_ori_id` int(11) NOT NULL DEFAULT '0' COMMENT '转换前原有资金分配id',
`post_type_title` varchar(50) NOT NULL DEFAULT '' COMMENT '职位类目表标题',
`post_type_id` int(11) NOT NULL DEFAULT '0' COMMENT '职位类目表ID',
PRIMARY KEY (`id`),
KEY `idx_company_phone` (`company_phone`),
KEY `idx_account_number` (`account_number`),
KEY `idx_post_id` (`post_id`),
KEY `idx_bd_email` (`bd_email`),
KEY `idx_trade_no` (`trade_no`),
KEY `idx_create_at` (`create_at`),
KEY `idx_operate_at` (`operate_at`),
KEY `idx_b_user_id` (`b_user_id`),
KEY `idx_b_order_id` (`b_order_id`),
KEY `idx_bd_id_income_at` (`bd_id`,`income_at`),
KEY `idx_department_code_do_status_operate_at` (`department_code`,`do_status`,`operate_at`),
KEY `idx_fid_do_status_ext_status` (`finance_assign_order_id`,`do_status`,`ext_status`),
KEY `idx_receipt_id` (`receipt_id`),
KEY `idx_company_id` (`company_id`)
) ENGINE=InnoDB AUTO_INCREMENT=417289 DEFAULT CHARSET=utf8 COMMENT='资金分配申请单'

3、the query sql
select * from `jz_finance_assign_order` where `id` in ('416119', '417042', '416886', '416887', '416938', '416939', '417080', '412101', '415537', '415538', '416667', '417041', '416666', '417042', '417036', '417037', '416641', '414523', '411729', '411728', '415653', '416900', '416899', '416715', '416717', '416119', '416120', '416714', '416716', '415469', '415468', '417081', '417082', '417219', '415455', '415454', '416205', '417204', '417203', '415168', '415167')

4、the result like this:



 Comments   
Comment by Johan Wikman [ 2018-11-23 ]

Thank you for reporting this; we will look into it as soon as possible.

Comment by markus makela [ 2020-07-03 ]

The table in the error message is not listed in the rule file, is it the correct rule file? I just tested the query with that table and some dummy data with the latest 2.4 and it seems to work. Please let us know if this is still relevant.

Comment by markus makela [ 2020-08-27 ]

Closing as Cannot Reproduce. If this still happens with the latest releases, please let us know and we'll reopen the issue.

Generated at Thu Feb 08 04:12:16 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.