View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0000782||LDMud 3.6||Runtime||public||2011-04-28 16:04||2022-01-09 21:29|
|Platform||i686||OS||Debian GNU/LInux||OS Version||5.0|
|Fixed in Version||3.6.5|
|Summary||0000782: Closures for simul-efuns with an index > 2047 crash the driver|
|Description||For efun, operator or simul-efun closures the efun, operator resp. simul-efun index is stored as the secondary type information. For each of these three types there are 2048 values reserved.|
For simul-efuns with an index beyond 2047 closures with illegal secondary type information will be created resulting in a crash.
One solution would be to create alien lfun closures for such simul-efuns instead. As another solution the simul-efun index could be moved into the .u value (but then we would need to store the object pointer and the simul-efun index which wouldn't fit into a p_int, so we would need to allocate another memory block for that).
|Tags||No tags attached.|
||Third solution: Give some more values to simul-efuns (e.g. 20480) and throw a warning when this limit is reached.|
Maybe discard any simul-efuns once this higher limit is reached with a warning? Better than crashing...
BTW: do private lfuns in simul_efun.c count against this limit? (My guess is no, but I am not sure).
|2011-04-28 16:04||Gnomi||New Issue|
|2011-04-28 16:18||Gnomi||Note Added: 0002050|
|2012-12-05 20:28||zesstra||Note Added: 0002165|
|2021-04-16 21:48||zesstra||Project||LDMud => LDMud 3.6|
|2021-05-24 20:04||Gnomi||Assigned To||=> Gnomi|
|2021-05-24 20:04||Gnomi||Status||new => assigned|
|2022-01-09 21:29||Gnomi||Status||assigned => resolved|
|2022-01-09 21:29||Gnomi||Resolution||open => fixed|
|2022-01-09 21:29||Gnomi||Fixed in Version||=> 3.6.5|