AccelerateNetworks / PagingServer

SIP-based Announcement / PA / Paging / Public Address Server system
GNU General Public License v2.0
26 stars 13 forks source link

Setting pjsua-device = 1 results in crash #19

Open danry25 opened 5 years ago

danry25 commented 5 years ago

The readme indicates that the index numbers of a device are usable, but setting pjsua-device = 1 or similar results in the crash shown below.

dan@<box>:~$ sudo -u paging paging  --debug --pjsua-log-level 10
[sudo] password for dan:                                          
2019-06-01 22:21:58 :: main INFO :: Starting PagingServer...               
2019-06-01 22:21:58 :: paging.PagingServer DEBUG :: pulse init                          
2019-06-01 22:21:58 :: paging.PagingServer DEBUG :: pjsua init                         
2019-06-01 22:21:58 :: pjsua DEBUG :: sip_endpoint.c  .Module "mod-pjsua-log" registered        
2019-06-01 22:21:58 :: pjsua DEBUG :: sip_endpoint.c  .Module "mod-tsx-layer" registered      
2019-06-01 22:21:58 :: pjsua DEBUG :: sip_endpoint.c  .Module "mod-stateful-util" registered
2019-06-01 22:21:58 :: pjsua DEBUG :: sip_endpoint.c  .Module "mod-ua" registered          
2019-06-01 22:21:58 :: pjsua DEBUG :: sip_endpoint.c  .Module "mod-100rel" registered 
2019-06-01 22:21:58 :: pjsua DEBUG :: sip_endpoint.c  .Module "mod-pjsua" registered          
2019-06-01 22:21:58 :: pjsua DEBUG :: sip_endpoint.c  .Module "mod-invite" registered 
2019-06-01 22:21:58 :: pjsua DEBUG :: alsa_dev.c  ..ALSA driver found 6 devices     
2019-06-01 22:21:58 :: pjsua DEBUG :: alsa_dev.c  ..ALSA initialized                     
2019-06-01 22:21:58 :: pjsua DEBUG :: pjlib  ..select() I/O Queue created (0x1e1611c) 
WARNING: no real random source present!                                                
2019-06-01 22:21:58 :: pjsua DEBUG :: sip_endpoint.c  .Module "mod-evsub" registered   
2019-06-01 22:21:58 :: pjsua DEBUG :: sip_endpoint.c  .Module "mod-presence" registered
2019-06-01 22:21:58 :: pjsua DEBUG :: sip_endpoint.c  .Module "mod-mwi" registered       
2019-06-01 22:21:58 :: pjsua DEBUG :: sip_endpoint.c  .Module "mod-refer" registered      
2019-06-01 22:21:58 :: pjsua DEBUG :: sip_endpoint.c  .Module "mod-pjsua-pres" registered 
2019-06-01 22:21:58 :: pjsua DEBUG :: sip_endpoint.c  .Module "mod-pjsua-im" registered   
2019-06-01 22:21:58 :: pjsua DEBUG :: sip_endpoint.c  .Module "mod-pjsua-options" registered
2019-06-01 22:21:58 :: pjsua DEBUG :: pjsua_core.c  .No SIP worker threads created 
2019-06-01 22:21:58 :: pjsua DEBUG :: pjsua_core.c  .pjsua version 2.5.5 for Linux-4.19.38/armv7l/glibc-2.19 initialized
2019-06-01 22:21:58 :: pjsua DEBUG :: pjsua_core.c  .PJSUA state changed: CREATED --> INIT
2019-06-01 22:21:58 :: pjsua DEBUG :: pjsua_core.c  SIP UDP socket reachable at 10.100.1.232:55420
2019-06-01 22:21:58 :: pjsua DEBUG :: udp0x1dd0118  SIP UDP transport started, published address is 10.100.1.232:55420
2019-06-01 22:21:58 :: pjsua DEBUG :: pjsua_core.c  PJSUA state changed: INIT --> STARTING
2019-06-01 22:21:58 :: pjsua DEBUG :: sip_endpoint.c  .Module "mod-unsolicited-mwi" registered
2019-06-01 22:21:58 :: pjsua DEBUG :: pjsua_core.c  .PJSUA state changed: STARTING --> RUNNING
2019-06-01 22:21:58 :: main ERROR :: Server runtime ERROR [UnboundLocalError], aborting: local variable 'infos_match' referenced before assignment
Traceback (most recent call last):                                       
  File "/usr/lib/python2.7/dist-packages/paging.py", line 1068, in main
    try: server.run()                                                
  File "/usr/lib/python2.7/dist-packages/paging.py", line 73, in _wrapper
    try: return func(*args, **kws)                                            
  File "/usr/lib/python2.7/dist-packages/paging.py", line 803, in run
    self.init_outputs()                                                     
  File "/usr/lib/python2.7/dist-packages/paging.py", line 649, in init_outputs
    m = self.match_info(m, spec, 'output device')
  File "/usr/lib/python2.7/dist-packages/paging.py", line 633, in match_info
    if len(infos_match) != 1:
UnboundLocalError: local variable 'infos_match' referenced before assignment
2019-06-01 22:21:58 :: paging.PagingServer DEBUG :: pjsua cleanup
2019-06-01 22:21:58 :: pjsua DEBUG :: pjsua_core.c  Shutting down, flags=0...
2019-06-01 22:21:58 :: pjsua DEBUG :: pjsua_core.c  PJSUA state changed: RUNNING --> CLOSING
2019-06-01 22:21:58 :: pjsua DEBUG :: pjsua_call.c  .Hangup all calls..
2019-06-01 22:21:58 :: pjsua DEBUG :: pjsua_media.c  .Call 0: deinitializing media..
2019-06-01 22:21:58 :: pjsua DEBUG :: pjsua_media.c  .Call 1: deinitializing media..
2019-06-01 22:21:58 :: pjsua DEBUG :: pjsua_media.c  .Call 2: deinitializing media..
2019-06-01 22:21:58 :: pjsua DEBUG :: pjsua_media.c  .Call 3: deinitializing media..
2019-06-01 22:21:58 :: pjsua DEBUG :: pjsua_media.c  .Call 4: deinitializing media..
2019-06-01 22:21:58 :: pjsua DEBUG :: pjsua_media.c  .Call 5: deinitializing media..
2019-06-01 22:21:58 :: pjsua DEBUG :: pjsua_media.c  .Call 6: deinitializing media..
2019-06-01 22:21:58 :: pjsua DEBUG :: pjsua_media.c  .Call 7: deinitializing media..
2019-06-01 22:21:58 :: pjsua DEBUG :: pjsua_media.c  .Call 8: deinitializing media..
2019-06-01 22:21:58 :: pjsua DEBUG :: pjsua_media.c  .Call 9: deinitializing media..
2019-06-01 22:21:58 :: pjsua DEBUG :: pjsua_pres.c  .Shutting down presence..
2019-06-01 22:21:59 :: pjsua DEBUG :: pjsua_core.c  .Destroying...
2019-06-01 22:21:59 :: pjsua DEBUG :: pjsua_media.c  .Shutting down media..
2019-06-01 22:21:59 :: pjsua DEBUG :: sip_transactio  .Stopping transaction layer module
2019-06-01 22:21:59 :: pjsua DEBUG :: sip_transactio  .Stopped transaction layer module
2019-06-01 22:21:59 :: pjsua DEBUG :: sip_endpoint.c  .Module "mod-unsolicited-mwi" unregistered
2019-06-01 22:21:59 :: pjsua DEBUG :: sip_endpoint.c  .Module "mod-pjsua-options" unregistered
2019-06-01 22:21:59 :: pjsua DEBUG :: sip_endpoint.c  .Module "mod-pjsua-im" unregistered
2019-06-01 22:21:59 :: pjsua DEBUG :: sip_endpoint.c  .Module "mod-pjsua-pres" unregistered
2019-06-01 22:21:59 :: pjsua DEBUG :: sip_endpoint.c  .Module "mod-pjsua" unregistered
2019-06-01 22:21:59 :: pjsua DEBUG :: sip_endpoint.c  .Module "mod-stateful-util" unregistered
2019-06-01 22:21:59 :: pjsua DEBUG :: sip_endpoint.c  .Module "mod-refer" unregistered
2019-06-01 22:21:59 :: pjsua DEBUG :: sip_endpoint.c  .Module "mod-mwi" unregistered
2019-06-01 22:21:59 :: pjsua DEBUG :: sip_endpoint.c  .Module "mod-presence" unregistered
2019-06-01 22:21:59 :: pjsua DEBUG :: sip_endpoint.c  .Module "mod-evsub" unregistered
2019-06-01 22:21:59 :: pjsua DEBUG :: sip_endpoint.c  .Module "mod-invite" unregistered
2019-06-01 22:21:59 :: pjsua DEBUG :: sip_endpoint.c  .Module "mod-100rel" unregistered
2019-06-01 22:21:59 :: pjsua DEBUG :: sip_endpoint.c  .Module "mod-ua" unregistered
2019-06-01 22:21:59 :: pjsua DEBUG :: sip_transactio  .Transaction layer module destroyed
2019-06-01 22:21:59 :: pjsua DEBUG :: sip_endpoint.c  .Module "mod-tsx-layer" unregistered
2019-06-01 22:21:59 :: pjsua DEBUG :: sip_endpoint.c  .Module "mod-msg-print" unregistered
2019-06-01 22:21:59 :: pjsua DEBUG :: sip_endpoint.c  .Module "mod-pjsua-log" unregistered
2019-06-01 22:21:59 :: pjsua DEBUG :: udp0x1dd0118  .SIP UDP transport destroyed
2019-06-01 22:21:59 :: pjsua DEBUG :: sip_endpoint.c  .Endpoint 0x1dd0794 destroyed
2019-06-01 22:21:59 :: pjsua DEBUG :: pjsua_core.c  .PJSUA state changed: CLOSING --> NULL
2019-06-01 22:21:59 :: pjsua DEBUG :: pjsua_core.c  .PJSUA destroyed...
2019-06-01 22:21:59 :: paging.PagingServer DEBUG :: pulse cleanup
Traceback (most recent call last):
  File "/usr/bin/paging", line 9, in <module>
    load_entry_point('PagingServer==16.10.1', 'console_scripts', 'paging')()
  File "/usr/lib/python2.7/dist-packages/paging.py", line 1068, in main
    try: server.run()
  File "/usr/lib/python2.7/dist-packages/paging.py", line 73, in _wrapper
    try: return func(*args, **kws)
  File "/usr/lib/python2.7/dist-packages/paging.py", line 803, in run
    self.init_outputs()
  File "/usr/lib/python2.7/dist-packages/paging.py", line 649, in init_outputs
    m = self.match_info(m, spec, 'output device')
  File "/usr/lib/python2.7/dist-packages/paging.py", line 633, in match_info
    if len(infos_match) != 1:
UnboundLocalError: local variable 'infos_match' referenced before assignment

Listed Audio Devices:

dan@<box>:~$ paging --dump-pjsua-devices
WARNING: no real random source present!
Detected sound devices:
  [0] default
    default_clock_rate: 8000
    input_channels: 1
    output_channels: 1
  [1] sysdefault:CARD=Codec
    default_clock_rate: 8000
    input_channels: 1
    output_channels: 1
  [2] dmix:CARD=Codec,DEV=0
    default_clock_rate: 8000
    input_channels: 0
    output_channels: 1
  [3] dsnoop:CARD=Codec,DEV=0
    default_clock_rate: 8000
    input_channels: 1
    output_channels: 0
  [4] hw:CARD=Codec,DEV=0
    default_clock_rate: 8000
    input_channels: 1
    output_channels: 1
  [5] plughw:CARD=Codec,DEV=0
    default_clock_rate: 8000
    input_channels: 1
    output_channels: 1
mk-fg commented 5 years ago

I fixed this in the git version, as mentioned to you on multiple occasions in the long chat we had few days ago, don't you remember? Now you're trying to use old version and get same exact error. I'm confused about the thought process here - yes, sure, old version had a bug, use fixed one.

mk-fg commented 5 years ago

Double-checked for whether I maybe forgot to push it, specific fix is this one: https://github.com/AccelerateNetworks/PagingServer/commit/080ca3fe27944972404b0a9b398a3f251ff57c77#diff-c6353a73b3f5034b1f9661701ec297bfR625

Bundled it with other fix for error imports, so maybe that makes it less obvious, though still no excuse for complaining about the several-years-old version when I specifically told you to use the fixed one from git :)

danry25 commented 5 years ago

I fixed this in the git version, as mentioned to you on multiple occasions in the long chat we had few days ago, don't you remember? Now you're trying to use old version and get same exact error. I'm confused about the thought process here - yes, sure, old version had a bug, use fixed one.

Oh shoot, my apologizes. It looks like I have an old copy of paging.py, let me update and retest.