[Pidgin] #16728: "Couldn't create plugins dir" on first run

Pidgin trac at pidgin.im
Sun Jul 26 02:19:42 EDT 2015


#16728: "Couldn't create plugins dir" on first run
---------------------+--------------------------
 Reporter:  apjanke  |      Owner:  EionRobb
     Type:  defect   |     Status:  new
Milestone:           |  Component:  unclassified
  Version:  2.10.11  |   Keywords:
---------------------+--------------------------
 The first time I run pidgin after installing it, it emits an error message
 that says `Couldn't create plugins dir`, and while a `~/.purple` directory
 gets created, the `~/.purple/plugins` directory does not. On the second
 run, the `~/.purple/plugins` directory gets created, and there is no error
 message.

 The error can be reproduced by deleting `~/.purple` and running pidgin
 again.

 This is on Mac OS X 10.9.5 or 10.11 Public Beta 2, with pidgin 2.10.11,
 installed using Homebrew.

 ===  Reproduction  ===

 To reproduce:

 {{{
 rm -rf ~/.purple
 pidgin &
 ls ~/.purple

 # ... quit pidgin ...

 pidgin &
 ls ~/.purple
 }}}

 ===  Diagnosis  ===

 It looks like the issue might be that the startup code is checking for and
 trying to create that plugins directory before libpurple is initialized.
 And it's libpurple that creates the parent `~/.purple` directory.

 Here's `pidgin/gtkmain.c` around line 800-810. There's the dir creation
 attempt and that error message, and it's a few lines before the
 `purple_core_init()` call.

 {{{

         search_path = g_build_filename(purple_user_dir(), "plugins",
 NULL);
         if (g_mkdir(search_path, S_IRUSR | S_IWUSR | S_IXUSR) != 0 &&
 errno != EEXIST)
                 fprintf(stderr, "Couldn't create plugins dir\n");
         purple_plugins_add_search_path(search_path);
         g_free(search_path);
         purple_plugins_add_search_path(LIBDIR);

         if (!purple_core_init(PIDGIN_UI)) {
 }}}

--
Ticket URL: <https://developer.pidgin.im/ticket/16728>
Pidgin <https://pidgin.im>
Pidgin


More information about the Tracker mailing list