-
|
I am experiencing a persistent and unusual bug in rTorrent's view management, where view names appear as [[string]] (a list containing a list with a string) instead of the expected [string] (a list containing a string). Problem Description: Context & Reproduction History: Key Observations: The bug appears to stem from rTorrent's internal handling of adding a single string (representing a view name) to a list. It incorrectly wraps the string in an additional list. Even after disabling and completely deleting the extratio plugin directory, manually correcting all affected session files (by editing the bencode to remove the double nesting), and recompiling rTorrent from source, the problem reappears. This suggests that once a view name (like "rat_0") has been introduced via the problematic path, rTorrent's own internal initialization or view recreation logic subsequently re-introduces the double-nesting every time it processes these views upon startup or torrent loading. Hypothesized Root Cause: Potentially Relevant Source Files (from user's observations and prior debugging attempts): object.h (specifically Object::insert_back, TYPE_STRING, TYPE_LIST definitions and their interactions) download_wrapper.h download_constructor.h common.h option_strings.h Impact: If anyone have any idea what I can do about this problem? |
Beta Was this translation helpful? Give feedback.
Replies: 8 comments 19 replies
-
If a string is pushed then it should work correctly, so there's likely a bug in your plugin. Probably should replace the get rid of the special handling of lists, and instead provide a list unwrapping command. |
Beta Was this translation helpful? Give feedback.
-
|
Is this with xmlrpc-c or tinyxml? |
Beta Was this translation helpful? Give feedback.
-
|
It's finally summer weather here, and already have the ipv6 issue to fix first. Current plan is to reproduce the errors in unit tests, and possibly add a custom handler in the session file loader to fix invalid |
Beta Was this translation helpful? Give feedback.
-
|
Branch Test it with logging, I want to know if it properly throws errors during the calls. (which would indicate lists are being passed to the commands. |
Beta Was this translation helpful? Give feedback.
-
|
Got sent a log, and all calls to |
Beta Was this translation helpful? Give feedback.
-
|
I'll backport the fix to stable branch and make a new release, however I've only gotten one confirmation that this fixes the issue. |
Beta Was this translation helpful? Give feedback.
-
|
It seems to be working for me as well. 👍 |
Beta Was this translation helpful? Give feedback.
-
|
Will consider this fixed then, and a stable release should come in not too long. (week+) |
Beta Was this translation helpful? Give feedback.
Branch
fix/download-viewshas stricter checks on the arguments tod.views.push_back*.Test it with logging, I want to know if it properly throws errors during the calls. (which would indicate lists are being passed to the commands.