[ASTERISK-122] res_pjsip_device_features: Excessive refcount on endpoint object

LBBS-13
pty.c: Attempt to lock previously destroyed mutex
PHREAKSCRIPT-20
dsp.c: coin DSP patch breaks faxing
LBBS-16
io_compress: Occasional memory corruption on shutdown
ASTERISK-119
app_dial: Progress timeout doesn't cause Dial to exit
ASTERISK-82
app_queue: Allow queue strategy to be manipulated externally
PHREAKNET-46
Polycom IP phones not provisioning
LBBS-86
Deadlock on internal lock mutex
PHREAKNET-54
Fix trunking to Telstar
ASTERISK-122
res_pjsip_device_features: Excessive refcount on endpoint object
DAHLIN-9
No rule to make target 'vpmadt032_loader/vpmadt032_x86_64.o'
DAHTOOL-5
Disabling span auto-assignment implodes kernel
PHREAKSCRIPT-28
app_predial: Failure to retrieve user agent property
PHREAKSCRIPT-63
chan_dahdi: Unused variable x
PHREAKNET-6
Verification flags international calls
LBBS-70
mod_smtp_delivery_external: Use SRS for externally forwarded messages
PHREAKSCRIPT-56
DAHDI Tools: Apply unmerged patches
ASTERISK-124
app_mixmonitor: Allow cancelling in-progress recording/recipients
DAHTOOL-4
dahdi_genconf: Hangs when run initially after span assignment
PHREAKSCRIPT-36
app_audichron: Tone not working after announcements
SLACK-5
Failed to receive reply... when message sent
LBBS-31
mod_sieve: Major Sieve filtering overhaul and improvements
PHREAKNET-34
Pat Fleet prompts
CAMI-1
Action Originate Returns -1
PHREAKSCRIPT-53
app_george: Cancel in-progress recording if nobody said anything
WSSMAIL-3
Message listing missing recipient for some messages
ASTERISK-137
sig_analog: Add alternate dial pulse scheme support
LBBS-65
net_smtp: Allow internal trusted hosts to be exempt from protocol violation checks
ASTERISK-102
app_voicemail: Play RDNIS if present when listening to envelope
DAHLIN-4
Improve manual span assignment process
ASTERISK-68
res_pjsip_sca: Segfaults on startup with SCA
ASTERISK-88
chan_dahdi: Add ADSI on-hook download support
ASTERISK-83
res_pjsip_device_features: Add forwarding and DND synchronization
ASTERISK-111
chan_dahdi: MWI while off-hook when hung up on after recall ring
ASTERISK-19
chan_dahdi: Remove sig_analog paths
ASTERISK-78
sig_analog: Add Last Number Redial
ASTERISK-77
sig_analog: Add Call Waiting Deluxe support
ASTERISK-130
Verify that res_xmpp can compile and be used
LBBS-64
mod_operator: Crash with more than 64 options?
ASTERISK-71
app_if: ElseIf executed even if If is true
PHREAKNET-42
Provisioning fails for lines with certain features
PHREAKNET-40
Recent Change provisioning bug increments device name by 1
PHREAKNET-52
Cisco end of CSR signing support
DAHLIN-7
Mega-issue to upstream out-of-tree DAHDI patches
PHREAKSCRIPT-30
MD5/RSA authenticated calls frequently fail
ASTERISK-97
func_groupcount: Add group vars
PHREAKNET-35
TSPS improvements
PHREAKNET-23
Wakeup calls not dialling at scheduled time
ASTERISK-101
func_tonedetect: 2600 Hz detection not working or suboptimal
ASTERISK-115
chan_iax2: Some pattern matches ignored if included in incoming context
ASTERISK-112
chan_dahdi: Raw power ring audible on recall ring from IAX2 to DAHDI
LBBS-32
mod_spamassassin: Improve default spam handling
LBBS-6
Add menu system scripting engine
ASTERISK-66
app_sf: ReceiveSF not detecting incoming SF
EVERGREEN-1
Use default identity per folder
ASTERISK-110
chan_iax2: Implement MWI
ASTERISK-80
app_record: Add RECORD_TIME function
INTERLINKED-2
PhreakNet Email for BoD Members
LBBS-88
net_imap: IDLE data not being processed in realtime
INTERLINKED-20
Closing multiple issues simultaneously doesn't work
PHREAKSCRIPT-39
Add optional flag to not update system first
LBBS-58
net_irc: Make ping interval adjustable
DAHLIN-1
Makefile: remove update target
PHREAKSCRIPT-43
Add spanconfig command
ASTERISK-106
chan_pjsip: Modify From header appropriately for unavailable presentation
PHREAKNET-47
Add automation for bill mailings
LBBS-71
Limit registrations from same IP within a certain amount of time
ASTERISK-64
chan_dahdi: autoreoriginate doesn't work if caller hung up on
LBBS-66
logger: Add rate limiting of log messages
INTERLINKED-16
Add option to not be notified about user's own issues
LBBS-46
Block malicious mail servers after repeated failures
ASTERISK-52
dsp.c: Add ast_freq_reset
LBBS-11
door_evergreen: Use isonetexec instead of exec
LBBS-7
Fix backspace detection/handling
ASTERISK-37
chan_pjsip: CALLERID(ani2) not working
ASTERISK-36
res_pjsip_logger: Add filtering by username
LBBS-22
mod_mail_trash: Eliminate bbs_pthread_cancel_kill
ASTERISK-108
config.c: Investigate and fix various config file rewrite bugs
ASTERISK-90
chan_iax2: Add log message for rejected calls
ASTERISK-27
chan_dahdi: add IS_FXO_SIG macro
SLACK-2
README: Add missing pre-reqs
ASTERISK-55
chan_dahdi: add NUM_ANALOG_SUBS
ASTERISK-34
app_queue: Allow setting context at runtime
ASTERISK-31
Add AMI event for assertion
ASTERISK-30
Add ast_channel_tech_name_match function
ASTERISK-29
chan_iax2: Add ${CHANNEL(authmethod)}
ASTERISK-15
chan_dahdi: Allow sending SDMF Caller ID
ASTERISK-98
Add hangup callbacks
ASTERISK-47
res_pjsip_session: Warn if no shared codecs
PHREAKSCRIPT-49
wanpipe doesn't compile above 6.1 kernel
ASTERISK-86
app_confbridge: Channel can join wrong bridge due to race condition
INTERLINKED-6
PhreakNet Forums
LBBS-74
net_ssh: Sessions persist even when they no longer exist
DAHLIN-10
Allow enabling EMPULSE and EMFLASH simultaneously
LBBS-82
localtime_r deadlock
ASTERISK-135
Mutex errors on FreeBSD
DAHLIN-6
Frame relay broken
LBBS-41
socket.c: SEGV in bbs_node_readline
LBBS-69
net_ssh: SFTP uploads fail with WinSCP
PHREAKSCRIPT-19
app_verify: Double free
PHREAKNET-14
1+ calls do not work for single numbers
LBBS-90
mod_smtp_delivery_external: Improve queuing process
PHREAKNET-39
Splice Fred Covington prompts for speaking clock
LBBS-47
Email enhancements
ASTERISK-131
chan_dahdi: Automatically update time when DST starts/ends
WSSMAIL-5
Add full attachment support
ASTERISK-129
core: Add ref/unref for ast_moh callbacks
DAHLIN-8
Readd native SF support
PHREAKNET-49
ML model for 3-slot coin detection
PHREAKSCRIPT-45
TDMoIP driver module
PHREAKSCRIPT-44
Finish ADSI applications
PHREAKSCRIPT-41
Create virtual modem application using softmodem
PHREAKNET-41
Allow for more granular billing based on switch ZIP code
PHREAKNET-33
Finish TSPS web console
ASTERISK-121
Upstream PhreakScript patches
LBBS-72
mod_webdav: Add WebDAV support
ASTERISK-118
chan_iax2: Improve encryption support
DAHLIN-5
FXO rings off hook when rotary dialing on the line
ASTERISK-105
chan_dahdi: Add CLI command to display line voltages
PHREAKSCRIPT-37
app_softmodem: Support speeds higher than 2400bps
ASTERISK-93
chan_dahdi: DSP optimizations
WSSMAIL-13
Improve multi-INBOX navigation
LBBS-56
net_snpp: Add Simple Network Paging Protocol support
LBBS-48
net_irc: Support multi-server networks
EVERGREEN-3
Add NNTP support for newsgroups
LBBS-38
mod_smtp_mailing_lists: Allow dynamic membership
LBBS-36
net_telnet: Improve protocol support
LBBS-35
net_acap: Add ACAP protocol support
WSSMAIL-4
Add PHPMailer support for format=flowed
ASTERISK-7
Improve sound control capabilities
LBBS-30
net_nntp: Complete overhaul/rewrite to use maildirs
ASTERISK-99
pjsip: Add Cisco CUCM patch functionality
LBBS-49
Add functionality expected of a traditional BBS package
LBBS-34
net_xmpp: Add XMPP protocol support
LBBS-33
net_imap: Add/standardize commands to modify or purge keywords
ASTERISK-75
chan_dahdi: Add Call Hold feature
ASTERISK-57
bridging: Make DAHDI, always softmix bridging modules
LBBS-91
readline.c: Crash in memmove
EVERGREEN-2
Navigation breaks when requirefromhelomatch=no in LBBS
DOCS-1
Kickstart the wiki
ASTERISK-79
config.c: Make ast_variable_retrieve return last match
ASTERISK-87
asterisk.c: Prevent creation of duplicate Asterisk processes
PHREAKNET-36
Trunking integration with Phil McCarter
ASTERISK-16
res_pbx_validate: Add commands to warn of dialplan problems
PHREAKSCRIPT-62
res_smdr_whozz: Initialization usually fails in practice
LBBS-80
mod_mimeparse: Occasional segfault when running tests
ASTERISK-134
chan_dahdi: Improve configuration validation
DAHTOOL-3
Compilation warnings on 32-bit (i686)
PHREAKSCRIPT-33
verify.conf: Flag invalid NXXs as illegitimate for NANPA calls
LBBS-61
net_imap: Soft assertion in parse_flags_string
LBBS-63
net_imap, io_compress: Spurious warnings if quota exceeded
ASTERISK-100
chan_dahdi: PRI lock held at module unload
LBBS-39
net_smtp: Occasional memory corruption on email delivery
LBBS-37
Restrict outgoing port 25 from containers while allowing other traffic
LBBS-23
net_smtp: DMARC reports not sent due to rejection of localhost
LBBS-20
node.c: Occasional race conditions during node shutdown cause deadlock
LBBS-17
Temporary files not always cleaned up
LBBS-79
Makefile: cp -n is deprecated
ASTERISK-109
voicemail.conf.sample: Clarify misnamed option behavior
PHREAKSCRIPT-35
app_mail: SendMail returns SUCCESS
LBBS-51
General TDD improvements
PHREAKSCRIPT-23
res_phreaknet: Increase cURL timeout
ASTERISK-94
app_chanspy: Fix bad audio with single direction operation
ASTERISK-76
app_dial: Allow MOH until progress received
LBBS-28
mod_discord: Warn users if IRC users are not online
PHREAKSCRIPT-16
app_selective: Missing pause after add/delete/instructions prompt
DAHTOOL-2
dahdi_cfg: Compiler warnings
ASTERISK-43
pbx_builtins: allow Answer to specify the channel
ASTERISK-35
sig_analog: Fix buffer overflow
DAHLIN-11
Use dev_addr_set instead of directly modifying const buffer
PHREAKSCRIPT-58
sig_analog: Allow hearpulsing gain to be adjusted
ASTERISK-128
Rename ast_sip_presence_xml_ functions
ASTERISK-127
func_codecs: view/update codecs
ASTERISK-123
app_voicemail: Add ability to disable "thank-you" when ending voicemail
WSSMAIL-15
Allow navigating messages using arrow keys
ASTERISK-104
Improve dahdi show channels output
PHREAKSCRIPT-29
res_phreaknet: Don't try making API requests if not a PhreakNet node
LBBS-59
Add HTTP endpoint for updating IRC presence automatically
WSSMAIL-14
Checkbox range selection doesn't always work reliably
PHREAKSCRIPT-34
app_verify: Check additional headers for STIR/SHAKEN attestation
SLACK-3
examples: Add example program to log everything to a CSV
PHREAKSCRIPT-22
Add framehook to display dialed digits
PHREAKSCRIPT-21
app_looparound: Add LoopAround application
LBBS-45
Use isoexec whenever possible
PHREAKSCRIPT-17
res_phreaknet: iax.conf, et. al. are truncated when there is no disk space left
LBBS-43
mod_discord: Improve handling of in-thread replies
LBBS-40
net_smtp: Add additional loop avoidance mechanisms
ASTERISK-73
chan_dahdi: Hunt to next trunk in group if busy
LBBS-29
net_irc: Add reminder bot
ASTERISK-69
res_cli_originate: Allow specifying Caller ID on CLI
DAHLIN-3
build: Compiler warnings
ASTERISK-65
sig_analog: Allow simple switch to time out to dialplan
LBBS-10
mod_sysop: Allow modifying user info from console
LBBS-8
net_imap: Accounts occasionally fail to load or are reordered
LBBS-5
tests: Add TLS tests
LBBS-4
tests: Add tests that establish remote console connections
ASTERISK-63
Upstream certain PhreakScript modules
ASTERISK-53
formats: add ulaw/alaw WAV support
ASTERISK-51
app_originate: Allow spooling future calls
INTERLINKED-4
InterLinked Issues API
PHREAKNET-7
Subscriber Service Disconnect Request Option
LBBS-89
mod_sysop: Improve history navigation and tab completion
ASTERISK-126
chan_iax2: Add fixed jitterbuffer
INTERLINKED-17
Blog: Issues with tag editing and viewing
INTERLINKED-15
Improve paging API
PHREAKNET-45
Operator system PSPs are outdated
LBBS-52
net_smtp: Add limited support for VRFY and EXPN
PHREAKSCRIPT-25
chan_sccp no longer compiles
WSSMAIL-8
Add NNTP support and IRC integration
PHREAKSCRIPT-18
Add better test coverage for 32-bit systems
ASTERISK-84
Add 'core show variables' command
ASTERISK-74
chan_dahdi: Add AMI event for callwaiting
WSSMAIL-7
Add ability for zero-trust type authentication
LBBS-27
mod_irc_relay: Allow relaying of away/here status
LBBS-24
build: Pre-reqs don't compile on Fedora
LBBS-9
mod_webmail: Improve MIME parsing to extract HTML/PT components
ASTERISK-58
xml: Add config documentation
ASTERISK-56
res_musiconhold: Add recursive files support
PHREAKNET-32
Set up Millennium Manager
PHREAKNET-24
[REQ] TTY Telegrams
ASTERISK-11
chan_dahdi: Add wink guard
ASTERISK-8
Optimize boilerplate RSA to MD5 fallback
PHREAKNET-20
Billing based on individual CLLI zip codes
PHREAKNET-1
Add third-party billing integration
PHREAKNET-10
Enhanced utilization of Feature Group D
ASTERISK-10
Proctor application for DAHDI
PHREAKNET-9
General ARTNVAAXCG0 enhancements
ASTERISK-136
app_voicemail: Voicemails stored but no email sent
PHREAKSCRIPT-50
app_acts: Finish fine tuning and bug fixes
PHREAKSCRIPT-47
make webvmail
INTERLINKED-7
TTY BBS lines (45.5+50) issues
ASTERISK-85
chan_pjsip: Add channel encryption integration
PHREAKSCRIPT-51
Add 32-bit/ARM builds
ASTERISK-89
app_stack: Print proper exit location for PBXless channels
ASTERISK-125
app_voicemail: Warning when hanging up during playback
ASTERISK-120
app_senddtmf: SendDTMF failure if not answering channel
LBBS-15
smtp: Locking errors, deadlock when queue runs during delivery
PHREAKSCRIPT-24
DAHDI builds in GitHub CI occasionally fail due to IPv6
ASTERISK-67
voicemail.conf.sample: maxsilence/minsecs trigger warning
ASTERISK-50
app_dial: Fix or document r tonezone option
DAHTOOL-1
system.conf: Fix typos
ASTERISK-40
pjsip: document MessageSend AOR limitation
ASTERISK-32
chan_dahdi: Allow Call Forwarding to be set/get programatically
ASTERISK-25
app_originate: allow early media, labels
ASTERISK-24
app_chanspy: Add no answer option
ASTERISK-22
general: Fix various typos
DAHLIN-2
Fix typos and dead links
PHREAKSCRIPT-54
Replace LOAD_STR_INT with ast_yesno
ASTERISK-48
func_devstate: Delete empty from AstDB
ASTERISK-107
indications.conf.sample: Add confirmation tone
WSSMAIL-12
Add one-click "Not junk" button

← All Issues || New Issue →

Sort Normal || Priority

Details


Referencing Issues

[ASTERISK-83] res_pjsip_device_features: Add forwarding and DND synchronization


Noticed some excessive refcount issues, and upon decreasing the threshold to under 1,000 and running some tests, it is caused by res_pjsip_device_features, not res_pjsip_sca or any other modules.

This should be resolved before [ASTERISK-83]

/var/log/asterisk/refs1.txt and /var/log/asterisk/refs1_proc.txt on polypbx contains a ref debug which can be used as a starting point for debugging when time permits.

[Oct 11 15:02:01] NOTICE[121357][C-000000cf] app_dial.c: Unable to create channel of type 'PJSIP' (cause 3 - No route to destination)
[Oct 12 13:16:42] ERROR[114771] res_pjsip.c: Excessive refcount 100000 reached on ao2 object 0x5572e1bf40b8
[Oct 12 13:16:42] ERROR[114771] res_pjsip.c: FRACK!, Failed assertion Excessive refcount 100000 reached on ao2 object 0x5572e1bf40b8 (0)
[Oct 12 13:16:42] ERROR[114771] : Got 18 backtrace records
# 0: asterisk __ast_assert_failed()
# 1: asterisk __ao2_ref()
# 2: [0x7f5a5c2c2d51] res_pjsip.so res_pjsip.c:1545 send_request_data_alloc()
# 3: [0x7f5a5c2c421a] res_pjsip.so res_pjsip.c:1946 ast_sip_send_out_of_dialog_request()
# 4: [0x7f5a5c2f2b1e] res_pjsip.so pjsip_options.c:910 sip_options_qualify_contact()
# 5: asterisk <unknown>()
# 6: asterisk __ao2_callback()
# 7: [0x7f5a5c2f2c8b] res_pjsip.so pjsip_options.c:932 sip_options_qualify_aor()
# 8: [0x7f5a5c2fc02f] res_pjsip.so pjsip_scheduler.c:100 run_task()
# 9: asterisk ast_taskprocessor_execute()
#10: asterisk <unknown>()
#11: asterisk ast_taskprocessor_execute()
#12: asterisk <unknown>()
#13: asterisk <unknown>()
#14: asterisk <unknown>()
#15: asterisk <unknown>()
#16: [0x7f5a5f86cea7] libpthread.so.0 pthread_create.c:478 start_thread()
#17: [0x7f5a5f07aacf] libc.so.6 clone.S:97 __GI___clone()

From another system:

[2024-11-06 00:43:48.984] ERROR[1552501][C-0000262c]: res_pjsip_device_features.c:649 feature_state_sub_by_endpoint: FRACK!, Failed assertion bad magic number 0x413b59d for object 0x7fd7f80aade0 (0)
[2024-11-06 00:43:49.267] ERROR[1552501][C-0000262c]:   Got 19 backtrace records
# 0: [0x555b686b3bdf] asterisk utils.c:2831 __ast_assert_failed()
# 1: [0x555b6851b4bc] asterisk astobj2.c:220 log_bad_ao2()
# 2: [0x555b6851be30] asterisk astobj2.c:501 __ao2_ref()
# 3: [0x7fd7dd67dd80] res_pjsip_device_features.so res_pjsip_device_features.c:651 feature_state_sub_by_endpoint()
# 4: [0x7fd7dd67e29c] res_pjsip_device_features.so res_pjsip_device_features.c:737 func_features_write()
# 5: [0x555b6861bea9] asterisk pbx_functions.c:712 ast_func_write()

Unrelated segfault:

Thread 1 (Thread 0x7fdd47a406c0 (LWP 3870419)):
#0  0x00007fdd52f529c3 in ast_sip_subscription_is_terminated (sub=0x400) at res_pjsip_pubsub.c:2667
#1  0x00007fdd52ee52f6 in func_features_write (chan=0x0, function=0x7fdd47a3c440 "PJSIP_DEVICE_FEATURES", data=0x7fdd47a3c456 "Polycom2122", value=0x7fdd47a3c520 "1,0") at res_pjsip_device_features.c:743
        feature_state_sub = 0x7fdd74322650
        res = 0
        tmp = 0x7fdd47a3c360 "1"
        args = {argc = 2, {argv = {0x7fdd47a3c456 "Polycom2122", 0x7fdd47a3c462 "donotdisturb"}, {endpoint = 0x7fdd47a3c456 "Polycom2122", feature = 0x7fdd47a3c462 "donotdisturb"}}}
        args2 = {argc = 2, {argv = {0x7fdd47a3c360 "1", 0x7fdd47a3c362 "0"}, {status = 0x7fdd47a3c360 "1", rings = 0x7fdd47a3c362 "0"}}}
        __FUNCTION__ = "func_features_write"
        __PRETTY_FUNCTION__ = "func_features_write"
#2  0x00005638033daea9 in ast_func_write (chan=0x0, function=0x7fdd47a3c5a0 "PJSIP_DEVICE_FEATURES(Polycom2122,donotdisturb)", value=0x7fdd47a3c520 "1,0") at pbx_functions.c:712

Though this issue is very obvious with the device feature module and will happen quickly, after weeks and weeks of running, the SCA module also exhibits a similar fault:

/var/log/asterisk/refs2.txt (and proc):

[Nov 25 19:17:01] ERROR[256373] threadpool.c: Excessive (warning) refcount 60 reached on ao2 object 0x55af51b371b0
[Nov 25 19:17:01] ERROR[221099] rtp_engine.c: Excessive refcount 200 reached on ao2 object 0x55af5174f5f8
[Nov 25 19:17:01] ERROR[221099] rtp_engine.c: FRACK!, Failed assertion Excessive refcount 200 reached on ao2 object 0x55af5174f5f8 (0)

This is suspicious, and an interesting (possible) clue:

root@polypbx:/usr/src/asterisk-21.4.3# tail -2000000 /var/log/asterisk/messages.log | grep "Excessive refcount"
[Nov 25 19:17:01] ERROR[221099] rtp_engine.c: Excessive refcount 200 reached on ao2 object 0x55af5174f5f8
[Nov 25 19:17:01] ERROR[221099] rtp_engine.c: FRACK!, Failed assertion Excessive refcount 200 reached on ao2 object 0x55af5174f5f8 (0)
root@polypbx:/usr/src/asterisk-21.4.3# tail -2000000 /var/log/asterisk/messages.log.1 | grep "Excessive refcount"
root@polypbx:/usr/src/asterisk-21.4.3#

-rw-r----- 1 asterisk asterisk 27863465 Nov 25 19:17 messages.log
-rw-r----- 1 asterisk asterisk 94712385 Nov 24 00:00 messages.log.1

Comments

You must be logged in to leave a comment.