** Description changed:

  Upstream bug https://github.com/alsa-project/alsa-python/issues/9
  
  SRU rationale:
  
- [ Impact ]
+ [Impact]
  
   * the alsaseq segfault prevents the use of this module in noble and
  thus breaks application using it
  
   * regression due to the upgrade to python 3.12
  
   * upstream have fixed it by adapting the code to python 3.12 in python-
  pyalsa 1.2.12 which is in Debian unstable and Ubuntu 24.10
  
- [ Test Plan ]
+ [Test Plan]
  
   * To reproduce the alsaseq issue, simply run this to see it segfault:
      python3 -c 'from pyalsa import alsaseq'
  
- [ Where problems could occur ]
+ [Where problems could occur]
  
   * The alsaseq fix only affects the alsaseq module, which otherwise
  cannot be loaded. It is therefore difficult to imagine any regression.
  
  Original report:
  
  Ubuntu 24.04 with python3-pyalsa 1.2.7-1build5. I noticed that solfege
  (3.23.4-12) crashes with segmentation fault while launching, after
  installing the python3-pyalsa package.
  
  It can be reproduced by simply loading pyalsa and its alsaseq module:
  
  $ python3 -c 'from pyalsa import alsaseq'
  Segmentation fault (core dumped)
  $
  
  Full stack trace:
  
  Program received signal SIGSEGV, Segmentation fault.
  Download failed: Invalid argument.  Continuing without source file 
./string/../sysdeps/x86_64/multiarch/memset-vec-unaligned-erms.S.
  __memset_evex_unaligned_erms () at 
../sysdeps/x86_64/multiarch/memset-vec-unaligned-erms.S:170
  warning: 170  ../sysdeps/x86_64/multiarch/memset-vec-unaligned-erms.S: No 
such file or directory
  (gdb) bt
  #0  __memset_evex_unaligned_erms () at 
../sysdeps/x86_64/multiarch/memset-vec-unaligned-erms.S:170
  #1  0x0000000000597aca in memset (__len=56, __ch=0, __dest=0x7ffff7e2746c) at 
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:59
  #2  _PyType_AllocNoTrack (nitems=1, type=0x7ffff7e2fde0 <ConstantType>) at 
../Objects/typeobject.c:1708
  #3  PyType_GenericAlloc (type=0x7ffff7e2fde0 <ConstantType>, nitems=1) at 
../Objects/typeobject.c:1722
  #4  0x0000000000568128 in long_subtype_new (obase=<optimized out>, 
x=<optimized out>, type=0x7ffff7e2fde0 <ConstantType>) at 
../Objects/longobject.c:5623
  #5  long_new_impl (obase=<optimized out>, x=<optimized out>, 
type=0x7ffff7e2fde0 <ConstantType>) at ../Objects/longobject.c:5562
  #6  long_new (type=0x7ffff7e2fde0 <ConstantType>, args=<optimized out>, 
kwargs=<optimized out>) at ../Objects/clinic/longobject.c.h:65
  #7  0x00007ffff7e1f5e8 in Constant_create (name=name@entry=0x7ffff7e2747c 
"SEQ_OPEN_INPUT", value=value@entry=2) at pyalsa/alsaseq.c:387
  #8  0x00007ffff7e239a5 in PyInit_alsaseq () at pyalsa/alsaseq.c:3337
  #9  0x00000000006a9521 in _PyImport_LoadDynamicModuleWithSpec 
(spec=spec@entry=0x7ffff748a5d0, fp=fp@entry=0x0) at ../Python/importdl.c:169
  #10 0x00000000006a8c72 in _imp_create_dynamic_impl (module=<optimized out>, 
file=0x0, spec=0x7ffff748a5d0) at ../Python/import.c:3775
  #11 _imp_create_dynamic (module=<optimized out>, args=<optimized out>, 
nargs=<optimized out>) at ../Python/clinic/import.c.h:506
  #12 0x00000000005820b7 in cfunction_vectorcall_FASTCALL (func=0x7ffff75972e0, 
args=0x7ffff7448b38, nargsf=<optimized out>, kwnames=<optimized out>) at 
../Include/cpython/methodobject.h:50
  #13 0x00000000005db593 in _PyEval_EvalFrameDefault (tstate=<optimized out>, 
frame=<optimized out>, throwflag=<optimized out>) at Python/bytecodes.c:3254
  #14 0x0000000000549d27 in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=2, 
args=0x7fffffffd350, callable=0x7ffff75a4040, tstate=0xba5048 
<_PyRuntime+459656>)
      at ../Include/internal/pycore_call.h:92
  #15 object_vacall (tstate=tstate@entry=0xba5048 <_PyRuntime+459656>, 
base=<optimized out>, callable=0x7ffff75a4040, vargs=0x7fffffffd3d8) at 
../Objects/call.c:850
  #16 0x000000000054b5b3 in PyObject_CallMethodObjArgs (obj=<optimized out>, 
name=<optimized out>) at ../Objects/call.c:911
  #17 0x00000000005fde85 in import_find_and_load (abs_name=0x7ffff75f9f30, 
tstate=0xba5048 <_PyRuntime+459656>) at ../Python/import.c:2779
  #18 PyImport_ImportModuleLevelObject (name=name@entry=0x7ffff75f9f30, 
globals=globals@entry=0x0, locals=locals@entry=0x0, 
fromlist=fromlist@entry=0x0, level=0) at ../Python/import.c:2862
  #19 0x00000000005d3874 in builtin___import___impl (level=<optimized out>, 
fromlist=0x0, locals=0x0, globals=0x0, name=0x7ffff75f9f30, module=<optimized 
out>) at ../Python/bltinmodule.c:275
  #20 builtin___import__ (module=<optimized out>, args=<optimized out>, 
nargs=<optimized out>, kwnames=<optimized out>) at 
../Python/clinic/bltinmodule.c.h:107
  #21 0x0000000000581e9d in cfunction_vectorcall_FASTCALL_KEYWORDS 
(func=0x7ffff75959e0, args=0x7ffff75e0928, nargsf=<optimized out>, kwnames=0x0) 
at ../Include/cpython/methodobject.h:50
  #22 0x00000000005db593 in _PyEval_EvalFrameDefault (tstate=<optimized out>, 
frame=<optimized out>, throwflag=<optimized out>) at Python/bytecodes.c:3254
  #23 0x0000000000549d27 in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=3, 
args=0x7fffffffd7c0, callable=0x7ffff75a4180, tstate=0xba5048 
<_PyRuntime+459656>)
      at ../Include/internal/pycore_call.h:92
  #24 object_vacall (tstate=tstate@entry=0xba5048 <_PyRuntime+459656>, 
base=<optimized out>, callable=0x7ffff75a4180, vargs=0x7fffffffd848) at 
../Objects/call.c:850
  #25 0x000000000054b5b3 in PyObject_CallMethodObjArgs (obj=<optimized out>, 
name=<optimized out>) at ../Objects/call.c:911
  #26 0x00000000005fe0db in PyImport_ImportModuleLevelObject 
(name=name@entry=0x7ffff75fd920, globals=<optimized out>, 
locals=locals@entry=0x7ffff75f9d80,
      fromlist=fromlist@entry=0x7ffff759b190, level=0) at 
../Python/import.c:2931
  #27 0x00000000005dc8ee in import_name (level=0xb35988 <_PyRuntime+3272>, 
fromlist=0x7ffff759b190, name=0x7ffff75fd920, frame=<optimized out>, 
tstate=<optimized out>)
      at ../Python/ceval.c:2482
  #28 _PyEval_EvalFrameDefault (tstate=tstate@entry=0xba5048 
<_PyRuntime+459656>, frame=<optimized out>, frame@entry=0x7ffff7fb2020, 
throwflag=throwflag@entry=0) at Python/bytecodes.c:2135
  #29 0x00000000005d59ab in _PyEval_EvalFrame (throwflag=0, 
frame=0x7ffff7fb2020, tstate=0xba5048 <_PyRuntime+459656>) at 
../Include/internal/pycore_ceval.h:89
  #30 _PyEval_Vector (kwnames=0x0, argcount=0, args=0x0, locals=0x7ffff75f9d80, 
func=0x7ffff74413a0, tstate=0xba5048 <_PyRuntime+459656>) at 
../Python/ceval.c:1683
  #31 PyEval_EvalCode (co=co@entry=0x7ffff7484ed0, 
globals=globals@entry=0x7ffff75f9d80, locals=locals@entry=0x7ffff75f9d80) at 
../Python/ceval.c:578
  #32 0x00000000006089a3 in run_eval_code_obj (locals=0x7ffff75f9d80, 
globals=0x7ffff75f9d80, co=0x7ffff7484ed0, tstate=0xba5048 <_PyRuntime+459656>) 
at ../Python/pythonrun.c:1722
  #33 run_mod (arena=0x7ffff751be50, flags=0x7ffff751be50, 
locals=0x7ffff75f9d80, globals=0x7ffff75f9d80, filename=<optimized out>, 
mod=<optimized out>) at ../Python/pythonrun.c:1743
  #34 PyRun_StringFlags (str=str@entry=0x7ffff75f9ed0 "from pyalsa import 
alsaseq\n", start=start@entry=257, globals=0x7ffff75f9d80, 
locals=0x7ffff75f9d80, flags=flags@entry=0x7fffffffdc80)
      at ../Python/pythonrun.c:1618
  #35 0x00000000006b3d8e in PyRun_SimpleStringFlags (command=0x7ffff75f9ed0 
"from pyalsa import alsaseq\n", flags=flags@entry=0x7fffffffdc80) at 
../Python/pythonrun.c:480
  #36 0x00000000006bca91 in pymain_run_command (command=<optimized out>) at 
../Modules/main.c:255
  #37 pymain_run_python (exitcode=0x7fffffffdc4c) at ../Modules/main.c:620
  #38 Py_RunMain () at ../Modules/main.c:709
  #39 0x00000000006bc4ad in Py_BytesMain (argc=<optimized out>, argv=<optimized 
out>) at ../Modules/main.c:763
  #40 0x00007ffff7c2a1ca in __libc_start_call_main (main=main@entry=0x518a50 
<main>, argc=argc@entry=3, argv=argv@entry=0x7fffffffde98) at 
../sysdeps/nptl/libc_start_call_main.h:58
  #41 0x00007ffff7c2a28b in __libc_start_main_impl (main=0x518a50 <main>, 
argc=3, argv=0x7fffffffde98, init=<optimized out>, fini=<optimized out>, 
rtld_fini=<optimized out>,
      stack_end=0x7fffffffde88) at ../csu/libc-start.c:360
  #42 0x0000000000657925 in _start ()
  (gdb)

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2073673

Title:
  pyalsa segfaults on loading alsaseq

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python-pyalsa/+bug/2073673/+subscriptions


-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to