It should be possible to use the 32bit package on amd64, by installing with
dpkg -i ---force-architecture, but you will need a whole load of other 32bit library packages as well.

Compiling the source with -o0 instead of the default -o2 stops the crash, but losing all optimisations in a grep tool is not very cool. Still, maybe this discovery suggests the 'upstream' tag should come off.

The crash occurs in savestate.c ~ line 1500 in function tree_selection_changed_cb near or on the statement g_free(tmpString2);

Creating a new variable tmpstring3, and using that for the following generateContentOptionsString call seems to fix the problem.

I hope to attach a patch file with this message. Email me privately if you want the patched source file and/or rebuilt binary package.

Also, I notice that another patch fix has been posted here.
https://bugs.launchpad.net/ubuntu/+source/searchmonkey/+bug/178701


Peter

P.S.
I have not found any other GUI grep tool than comes close to the use-ability of searchmonkey.

--- savestate.c		2007-02-05 22:55:51.000000000 +0000
+++ savestate.c	2012-08-04 23:33:14.607114002 +0100
@@ -1425,6 +1425,7 @@
   GtkTreeModel *model;
   gchar *fullFileName, *size, *mdate, tmpString[MAX_FILENAME_STRING + 1];
   gchar *tmpString2;
+  gchar *tmpString3;
   GtkTextIter txtIter, tmpIter;
   GtkTextIter start, end;
   gsize count, tmpCount;
@@ -1486,9 +1487,9 @@
       g_free(tmpString2);
 
       /* Add line to describe options applied at run-time */
-      tmpString2 = generateContentOptionsString(mSearchControl);
+      tmpString3 = generateContentOptionsString(mSearchControl);
       gtk_text_buffer_insert_with_tags_by_name (buffer, &txtIter, tmpString2, -1, "no_context", NULL);
-      g_free(tmpString2);
+      g_free(tmpString3);
 
       //g_static_mutex_lock(&mutex_Data);
       if (mSearchControl->flags & SEARCH_EXTRA_LINES) {

Reply via email to