maximum recursion depth exceeded
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
SoundConverter |
Fix Committed
|
High
|
Unassigned |
Bug Description
It happens when trying to convert a list of 4000+ FLAC files to MP3.
At some point it stops:
File "/tmp/soundconv
self.
File "/tmp/soundconv
self.callback()
File "/tmp/soundconv
return callback(self)
File "/tmp/soundconv
self.
File "/tmp/soundconv
task.run()
[Repeat a few hundred times (thousands?)]
File "/tmp/soundconv
self.newname = self.name_
File "/tmp/soundconv
parent_uri = self._get_
File "/tmp/soundconv
return filename_
File "/tmp/soundconv
match = split_uri(filename)
File "/tmp/soundconv
match = re.match(
File "/usr/lib/
return _compile(pattern, flags).
File "/usr/lib/
if isinstance(flags, RegexFlag):
RecursionError: maximum recursion depth exceeded while calling a Python object
Since the list of songs to convert can be in the thousands, it really shouldn't be doing recursion...
Debian testing, with version 4.0.3. Reproduced with latest git master.
Changed in soundconverter: | |
milestone: | none → 4.0.4 |
importance: | Undecided → High |
status: | New → Confirmed |
Changed in soundconverter: | |
status: | Confirmed → Fix Committed |
Seems odd, the queue object (self.pending) should not allow this
>>> from queue import Queue
>>> q = Queue()
>>> q.put(1)
>>> q.put(2)
>>> q.put(3)
>>> q.get()
1
>>> q.get()
2
>>> q.get()
3
>>> q.qsize()
0
afterwards .get() would block.