Hi,<br>I am trainee on Pardus Linux Project.<br>I am trying to update pisi backend for Pardus 2009. Old code works, but some subcommands don't work.<br>When i use get-details command, daemon get Segmentation fault.<br>
What is the problem?<br>I use PackageKit 0.4.9<br>Thanks...<br><br> * Errors<br>$ pkcon get-details amsn<br>The daemon crashed mid-transaction!<br><br># packagekitd --verbose<br>.......<br>TI:12:02:43 FI:pk-backend-spawn.c FN:pk_backend_spawn_get_envp,606<br>
- setting evp 'LANG=tr_TR.UTF-8'<br>TI:12:02:43 FI:pk-network-stack-unix.c FN:pk_network_stack_unix_is_valid,98<br> - destination eth0 is valid<br>TI:12:02:43 FI:pk-backend-spawn.c FN:pk_backend_spawn_get_envp,614<br>
- setting evp 'NETWORK=TRUE'<br>TI:12:02:43 FI:pk-spawn.c FN:pk_spawn_argv,458<br> - argv[0] '/usr/share/PackageKit/helpers/pisi/pisiBackend.py'<br>TI:12:02:43 FI:pk-spawn.c FN:pk_spawn_argv,458<br>
- argv[1] 'get-details'<br>TI:12:02:43 FI:pk-spawn.c FN:pk_spawn_argv,458<br> - argv[2] 'amsn;0.98b_11234-25-5;i686;'<br>TI:12:02:43 FI:pk-spawn.c FN:pk_spawn_argv,462<br> - envp[0] 'LANG=tr_TR.UTF-8'<br>
TI:12:02:43 FI:pk-spawn.c FN:pk_spawn_argv,462<br> - envp[1] 'NETWORK=TRUE'<br>TI:12:02:43 FI:pk-spawn.c FN:pk_spawn_argv,485<br> - reusing instance<br>TI:12:02:43 FI:pk-spawn.c FN:pk_spawn_send_stdin,375<br>
- sending 'get-details amsn;0.98b_11234-25-5;i686;'<br>TI:12:02:43 FI:pk-backend.c FN:pk_backend_set_allow_cancel,1484<br> - emit allow-cancel 1<br>TI:12:02:43 FI:pk-inhibit.c FN:pk_inhibit_remove,194<br>
- cannot find item 0x8722130<br>TI:12:02:43 FI:pk-transaction.c FN:pk_transaction_allow_cancel_emit,379<br> - emitting allow-cancel 1<br>TI:12:02:43 FI:pk-backend.c FN:pk_backend_emit_progress_changed,608<br>
- emit progress 101, 101, 48, 0<br>TI:12:02:43 FI:pk-transaction.c FN:pk_transaction_progress_changed_emit,359<br> - emitting percentage-changed 101, 101, 48, 0<br>Segmentation fault<br><br> * pisi backend code pisiBackend.py line 166 - 188<br>
<br> def get_details(self, package_ids):<br> """ Prints a detailed description for a given package """<br> self.allow_cancel(True)<br> self.percentage(None)<br><br> package = self.get_package_from_id(package_ids[0])[0]<br>
<br> if self.packagedb.has_package(package):<br> pkg = self.packagedb.get_package(package)<br><br> if self.groups.has_key(pkg.partOf):<br> group = self.groups[pkg.partOf]<br> else:<br>
group = GROUP_UNKNOWN<br><br> self.details("%s-%s" % (<a href="http://pkg.name">pkg.name</a>, self.__get_package_version(pkg)),<br> pkg.license,<br> group,<br>
pkg.description,<br> pkg.packageURI,<br> pkg.packageSize)<br> else:<br> self.error(ERROR_PACKAGE_NOT_FOUND, "Package was not found")<br>
<br><br>