Type:
Bug
Priority:
Minor
Resolution:
Unresolved
Affects Version/s:
None
Fix Version/s:
None
Component/s:
None
Environment:
Debian Unstable
libmariadb from Debian package, version 10.6.7-3+b1
Hi,
I have encountered an issue where a perl script which uses the MariaDB C connector (via DBD::MariaDB or DBD::mysql) ends up ignoring SIGPIPE. This results in problems such as:
continuing to run even when the pipeline is broken
printing an error on exit
I am pretty sure that I tracked this down to code in the C connector introduced in this commit:
https://github.com/mariadb-corporation/mariadb-connector-c/commit/1cefbbecb929b4b4a67b0ac23058ab0167e1c6d6#diff-478b1bbb2170532b687be58bd28e9850ccc0b9a6aec137eb8fff7b8e6d1107bbR3460
A backtrace seems to confirm this (note the ignore_sigpipe() at #4):
(gdb) bt
#0 0x00007ffff7cab9f2 in __GI___libc_sigaction (sig=sig@entry=13, act=act@entry=0x7fffffffd950,
oact=oact@entry=0x7fffffffd9f0) at ../sysdeps/unix/sysv/linux/sigaction.c:58
#1 0x00007ffff7cabb25 in __GI___sigaction (sig=sig@entry=13, act=act@entry=0x7fffffffd950, oact=oact@entry=0x7fffffffd9f0)
at ../nptl/sigaction.c:30
#2 0x00007ffff7cab6e5 in __bsd_signal (sig=sig@entry=13, handler=handler@entry=0x1) at ../sysdeps/posix/signal.c:45
#3 0x00007ffff7cab73b in __bsd_signal (sig=sig@entry=13, handler=handler@entry=0x1) at ../sysdeps/posix/signal.c:35
#4 0x00007ffff78ca025 in ignore_sigpipe () at ./libmariadb/libmariadb/mariadb_lib.c:3842
#5 mysql_once_init () at ./libmariadb/libmariadb/mariadb_lib.c:3898
#6 mysql_once_init () at ./libmariadb/libmariadb/mariadb_lib.c:3851
#7 0x00007ffff7e5b610 in __pthread_once_slow (once_control=0x7ffff78f7b6c <init_once>,
init_routine=0x7ffff78c9fb0 <mysql_once_init>) at pthread_once.c:116
#8 0x00007ffff7904f1d in ?? () from /usr/lib/x86_64-linux-gnu/perl5/5.34/auto/DBD/MariaDB/MariaDB.so
#9 0x00007ffff7907f2c in ?? () from /usr/lib/x86_64-linux-gnu/perl5/5.34/auto/DBD/MariaDB/MariaDB.so
#10 0x00007ffff7901ef0 in ?? () from /usr/lib/x86_64-linux-gnu/perl5/5.34/auto/DBD/MariaDB/MariaDB.so
#11 0x0000555555667877 in Perl_pp_entersub ()
#12 0x000055555565df36 in Perl_runops_standard ()
#13 0x00005555555c1f9d in Perl_call_sv ()
#14 0x00007ffff79310b9 in XS_DBI_dispatch () from /usr/lib/x86_64-linux-gnu/perl5/5.34/auto/DBI/DBI.so
#15 0x0000555555667877 in Perl_pp_entersub ()
#16 0x000055555565df36 in Perl_runops_standard ()
#17 0x00005555555ca36c in perl_run ()
#18 0x000055555559d4c2 in main ()
I filed a bug with DBD::MariaDB first, but word there is that the C connector should not be ignoring SIGPIPE.
https://github.com/perl5-dbi/DBD-MariaDB/issues/170
It seems like this behavior must exist for an intended purpose, but I don't know what that would be. Even if there is a good reason to ignore SIGPIPE, it does have some undesired consequences.
Thanks,
Corey
{"report":{"fcp":1306.7999997138977,"ttfb":588.8999996185303,"pageVisibility":"visible","entityId":111160,"key":"jira.project.issue.view-issue","isInitial":true,"threshold":1000,"elementTimings":{},"userDeviceMemory":8,"userDeviceProcessors":64,"apdex":0.5,"journeyId":"76502e61-7bae-47bc-aeb6-dc20f65623c7","navigationType":0,"readyForUser":1368.5,"redirectCount":0,"resourceLoadedEnd":1402.6999998092651,"resourceLoadedStart":593.6999998092651,"resourceTiming":[{"duration":188.80000019073486,"initiatorType":"link","name":"https://jira.mariadb.org/s/2c21342762a6a02add1c328bed317ffd-CDN/lu2cib/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/css/_super/batch.css","startTime":593.6999998092651,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":593.6999998092651,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":782.5,"responseStart":0,"secureConnectionStart":0},{"duration":247.19999980926514,"initiatorType":"link","name":"https://jira.mariadb.org/s/7ebd35e77e471bc30ff0eba799ebc151-CDN/lu2cib/820016/12ta74/494e4c556ecbb29f90a3d3b4f09cb99c/_/download/contextbatch/css/jira.browse.project,project.issue.navigator,jira.view.issue,jira.general,jira.global,atl.general,-_super/batch.css?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&slack-enabled=true&whisper-enabled=true","startTime":594,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":594,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":841.1999998092651,"responseStart":0,"secureConnectionStart":0},{"duration":257.19999980926514,"initiatorType":"script","name":"https://jira.mariadb.org/s/0917945aaa57108d00c5076fea35e069-CDN/lu2cib/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/js/_super/batch.js?locale=en","startTime":594.1999998092651,"connectEnd":594.1999998092651,"connectStart":594.1999998092651,"domainLookupEnd":594.1999998092651,"domainLookupStart":594.1999998092651,"fetchStart":594.1999998092651,"redirectEnd":0,"redirectStart":0,"requestStart":594.1999998092651,"responseEnd":851.3999996185303,"responseStart":851.3999996185303,"secureConnectionStart":594.1999998092651},{"duration":324.7000002861023,"initiatorType":"script","name":"https://jira.mariadb.org/s/2d8175ec2fa4c816e8023260bd8c1786-CDN/lu2cib/820016/12ta74/494e4c556ecbb29f90a3d3b4f09cb99c/_/download/contextbatch/js/jira.browse.project,project.issue.navigator,jira.view.issue,jira.general,jira.global,atl.general,-_super/batch.js?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&locale=en&slack-enabled=true&whisper-enabled=true","startTime":594.3999996185303,"connectEnd":594.3999996185303,"connectStart":594.3999996185303,"domainLookupEnd":594.3999996185303,"domainLookupStart":594.3999996185303,"fetchStart":594.3999996185303,"redirectEnd":0,"redirectStart":0,"requestStart":594.3999996185303,"responseEnd":919.0999999046326,"responseStart":919.0999999046326,"secureConnectionStart":594.3999996185303},{"duration":328.5,"initiatorType":"script","name":"https://jira.mariadb.org/s/a9324d6758d385eb45c462685ad88f1d-CDN/lu2cib/820016/12ta74/c92c0caa9a024ae85b0ebdbed7fb4bd7/_/download/contextbatch/js/atl.global,-_super/batch.js?locale=en","startTime":594.5999999046326,"connectEnd":594.5999999046326,"connectStart":594.5999999046326,"domainLookupEnd":594.5999999046326,"domainLookupStart":594.5999999046326,"fetchStart":594.5999999046326,"redirectEnd":0,"redirectStart":0,"requestStart":594.5999999046326,"responseEnd":923.0999999046326,"responseStart":923.0999999046326,"secureConnectionStart":594.5999999046326},{"duration":328.90000009536743,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/820016/12ta74/1.0/_/download/batch/jira.webresources:calendar-en/jira.webresources:calendar-en.js","startTime":594.6999998092651,"connectEnd":594.6999998092651,"connectStart":594.6999998092651,"domainLookupEnd":594.6999998092651,"domainLookupStart":594.6999998092651,"fetchStart":594.6999998092651,"redirectEnd":0,"redirectStart":0,"requestStart":594.6999998092651,"responseEnd":923.5999999046326,"responseStart":923.5,"secureConnectionStart":594.6999998092651},{"duration":381.80000019073486,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/820016/12ta74/1.0/_/download/batch/jira.webresources:calendar-localisation-moment/jira.webresources:calendar-localisation-moment.js","startTime":594.7999997138977,"connectEnd":594.7999997138977,"connectStart":594.7999997138977,"domainLookupEnd":594.7999997138977,"domainLookupStart":594.7999997138977,"fetchStart":594.7999997138977,"redirectEnd":0,"redirectStart":0,"requestStart":594.7999997138977,"responseEnd":976.5999999046326,"responseStart":976.5999999046326,"secureConnectionStart":594.7999997138977},{"duration":397.59999990463257,"initiatorType":"link","name":"https://jira.mariadb.org/s/b04b06a02d1959df322d9cded3aeecc1-CDN/lu2cib/820016/12ta74/a2ff6aa845ffc9a1d22fe23d9ee791fc/_/download/contextbatch/css/jira.global.look-and-feel,-_super/batch.css","startTime":595,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":595,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":992.5999999046326,"responseStart":0,"secureConnectionStart":0},{"duration":381.90000009536743,"initiatorType":"script","name":"https://jira.mariadb.org/rest/api/1.0/shortcuts/820016/47140b6e0a9bc2e4913da06536125810/shortcuts.js?context=issuenavigation&context=issueaction","startTime":595.1999998092651,"connectEnd":595.1999998092651,"connectStart":595.1999998092651,"domainLookupEnd":595.1999998092651,"domainLookupStart":595.1999998092651,"fetchStart":595.1999998092651,"redirectEnd":0,"redirectStart":0,"requestStart":595.1999998092651,"responseEnd":977.0999999046326,"responseStart":977.0999999046326,"secureConnectionStart":595.1999998092651},{"duration":397.40000009536743,"initiatorType":"link","name":"https://jira.mariadb.org/s/3ac36323ba5e4eb0af2aa7ac7211b4bb-CDN/lu2cib/820016/12ta74/d176f0986478cc64f24226b3d20c140d/_/download/contextbatch/css/com.atlassian.jira.projects.sidebar.init,-_super,-project.issue.navigator,-jira.view.issue/batch.css?jira.create.linked.issue=true","startTime":595.3999996185303,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":595.3999996185303,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":992.7999997138977,"responseStart":0,"secureConnectionStart":0},{"duration":383.09999990463257,"initiatorType":"script","name":"https://jira.mariadb.org/s/5d5e8fe91fbc506585e83ea3b62ccc4b-CDN/lu2cib/820016/12ta74/d176f0986478cc64f24226b3d20c140d/_/download/contextbatch/js/com.atlassian.jira.projects.sidebar.init,-_super,-project.issue.navigator,-jira.view.issue/batch.js?jira.create.linked.issue=true&locale=en","startTime":595.5999999046326,"connectEnd":595.5999999046326,"connectStart":595.5999999046326,"domainLookupEnd":595.5999999046326,"domainLookupStart":595.5999999046326,"fetchStart":595.5999999046326,"redirectEnd":0,"redirectStart":0,"requestStart":595.5999999046326,"responseEnd":978.6999998092651,"responseStart":978.6999998092651,"secureConnectionStart":595.5999999046326},{"duration":611.0999999046326,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/820016/12ta74/1.0/_/download/batch/jira.webresources:bigpipe-js/jira.webresources:bigpipe-js.js","startTime":601.0999999046326,"connectEnd":601.0999999046326,"connectStart":601.0999999046326,"domainLookupEnd":601.0999999046326,"domainLookupStart":601.0999999046326,"fetchStart":601.0999999046326,"redirectEnd":0,"redirectStart":0,"requestStart":601.0999999046326,"responseEnd":1212.1999998092651,"responseStart":1212.1999998092651,"secureConnectionStart":601.0999999046326},{"duration":794.3000001907349,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/820016/12ta74/1.0/_/download/batch/jira.webresources:bigpipe-init/jira.webresources:bigpipe-init.js","startTime":604.7999997138977,"connectEnd":604.7999997138977,"connectStart":604.7999997138977,"domainLookupEnd":604.7999997138977,"domainLookupStart":604.7999997138977,"fetchStart":604.7999997138977,"redirectEnd":0,"redirectStart":0,"requestStart":604.7999997138977,"responseEnd":1399.0999999046326,"responseStart":1399.0999999046326,"secureConnectionStart":604.7999997138977},{"duration":213.80000019073486,"initiatorType":"xmlhttprequest","name":"https://jira.mariadb.org/rest/webResources/1.0/resources","startTime":1004.2999997138977,"connectEnd":1004.2999997138977,"connectStart":1004.2999997138977,"domainLookupEnd":1004.2999997138977,"domainLookupStart":1004.2999997138977,"fetchStart":1004.2999997138977,"redirectEnd":0,"redirectStart":0,"requestStart":1004.2999997138977,"responseEnd":1218.0999999046326,"responseStart":1218.0999999046326,"secureConnectionStart":1004.2999997138977},{"duration":140.19999980926514,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/820016/12ta74/e65b778d185daf5aee24936755b43da6/_/download/contextbatch/js/browser-metrics-plugin.contrib,-_super,-atl.general/batch.js?agile_global_admin_condition=true&jag=true&slack-enabled=true&whisper-enabled=true","startTime":1262.5,"connectEnd":1262.5,"connectStart":1262.5,"domainLookupEnd":1262.5,"domainLookupStart":1262.5,"fetchStart":1262.5,"redirectEnd":0,"redirectStart":0,"requestStart":1262.5,"responseEnd":1402.6999998092651,"responseStart":1402.6999998092651,"secureConnectionStart":1262.5},{"duration":217.2999997138977,"initiatorType":"script","name":"https://www.google-analytics.com/analytics.js","startTime":1300.5999999046326,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":1300.5999999046326,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":1517.8999996185303,"responseStart":0,"secureConnectionStart":0}],"fetchStart":0,"domainLookupStart":0,"domainLookupEnd":0,"connectStart":0,"connectEnd":0,"requestStart":182,"responseStart":589,"responseEnd":605,"domLoading":592,"domInteractive":1460,"domContentLoadedEventStart":1460,"domContentLoadedEventEnd":1508,"domComplete":1704,"loadEventStart":1704,"loadEventEnd":1705,"userAgent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","marks":[{"name":"bigPipe.sidebar-id.start","time":1441.3999996185303},{"name":"bigPipe.sidebar-id.end","time":1442.2999997138977},{"name":"bigPipe.activity-panel-pipe-id.start","time":1442.3999996185303},{"name":"bigPipe.activity-panel-pipe-id.end","time":1445.2999997138977},{"name":"activityTabFullyLoaded","time":1565.5999999046326}],"measures":[],"correlationId":"78296da769459d","effectiveType":"4g","downlink":10,"rtt":0,"serverDuration":94,"dbReadsTimeInMs":8,"dbConnsTimeInMs":17,"applicationHash":"9d11dbea5f4be3d4cc21f03a88dd11d8c8687422","experiments":[]}}
georg any comments for this issue?