bugmake - Bugs: bug #15818, SEGV in hash set code

 
 

bug #15818: SEGV in hash set code

Submitter:  Ab Wilson <abwilson>
Submitted:  Mon 20 Feb 2006 01:49:40 PM UTC
   
 
Severity:  3 - Normal Item Group:  Bug
Status:  Fixed Privacy:  Public
Assigned to:  psmith Open/Closed:  Closed
Component Version:  4.0 Operating System:  POSIX-Based
Fixed Release:  3.81 Triage Status:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Thu 23 Feb 2006 06:41:17 AM UTC, comment #4: 

Ab reports that it fixed his problem, too, so I'm closing this bug.

Paul D. Smith <psmith>
Group administrator
Tue 21 Feb 2006 02:36:48 AM UTC, comment #3: 

Yes, the patch indeed fixes the problem.
Thanks for the fast reply!
Another problem appeared, but I will report this in another bug.

Thomas Bleher <thomasbleher>
Tue 21 Feb 2006 02:01:44 AM UTC, comment #2: 

Ah!  Any reproducible test case is extremely useful.  OK, this bug is not difficult to see.  Please apply the patch below and let me know if it works.  I'm sure it will fix Thomas's problem; the question is whether it was indeed the same problem: does it fix the original problem Ab had?

Paul D. Smith <psmith>
Group administrator
Tue 21 Feb 2006 01:43:39 AM UTC, comment #1: 

Not sure if this is the same bug, but the backtraces seem similar.
I use make CVS as of today (2006-02-21), Ubuntu Dapper (development version of Ubuntu).

I'm trying to build SELinux refpolicy, my current source is available as http://www.cip.ifi.lmu.de/~bleher/refpolicy-segfault.tar.gz.
Whenever I call "make -C build-tree/refpolicy NAME=refpolicy-strict TYPE=strict-mcs DISTRO=debian DIRECT_INITRC=y MONOLITHIC=n all" on this exact tree make immediately segfaults.

Backtrace from gdb:
(gdb) backtrace
#0  0x080628c4 in merge_variable_set_lists (setlist0=0x809fcfc, setlist1=0x80bd2c0) at variable.c:682
#1  0x0804d7f4 in rehash_file (from_file=0x80ab9b8, to_hname=0x80bd770 "policy/modules/kernel/corenetwork.te")
    at file.c:298
#2  0x0805e932 in f_mtime (file=<value optimized out>, search=1) at remake.c:1247
#3  0x0805f3ec in check_dep (file=<value optimized out>, depth=8, this_mtime=1, must_make_ptr=0x3f8424d4)
    at remake.c:971
#4  0x0805f2e3 in check_dep (file=0x80a0388, depth=7, this_mtime=1, must_make_ptr=0x3f842524) at remake.c:1009
#5  0x0805f2e3 in check_dep (file=0x8096e70, depth=6, this_mtime=1, must_make_ptr=0x3f842574) at remake.c:1009
#6  0x0805f2e3 in check_dep (file=0x809f660, depth=5, this_mtime=1, must_make_ptr=0x3f8425c4) at remake.c:1009
#7  0x0805f2e3 in check_dep (file=0x809f550, depth=4, this_mtime=1, must_make_ptr=0x3f842654) at remake.c:1009
#8  0x0805f7ab in update_file (file=0x80963e0, depth=2) at remake.c:504
#9  0x0805f126 in check_dep (file=<value optimized out>, depth=2, this_mtime=1, must_make_ptr=0x3f842734)
    at remake.c:941
#10 0x0805f7ab in update_file (file=0x8071660, depth=0) at remake.c:504
#11 0x080609be in update_goal_chain (goals=0x80984d0) at remake.c:154
#12 0x08058646 in main (argc=9, argv=0x3f8441b4, envp=0x3f8441dc) at main.c:2200

I hope this is helpful.

Thomas Bleher <thomasbleher>
Mon 20 Feb 2006 01:49:40 PM UTC, original submission:  

make-3.81rc1 SunOS 5.9, Sun cc

All I have on this one so far is a core dump in the hash set code:

(dbx) run
Running: make -k -j 4 variants=dyn_dbg --warn-undefined-variables everything
(process id 25869)
signal SEGV (no mapping at the fault address) in variable_hash_1 at line 109 in file "variable.c"
(dbx) where
=>[1] variable_hash_1(keyv = 0x37b8e8), line 109 in "variable.c"
  [2] hash_find_slot(ht = 0xc47d0, key = 0x37b8e8), line 91 in "hash.c"
  [3] merge_variable_sets(to_set = 0xc47d0, from_set = 0x699530), line 650 in "variable.c"
  [4] merge_variable_set_lists(setlist0 = 0x8b9ec4, setlist1 = 0x87ed8), line 682 in "variable.c"
  [5] rehash_file(from_file = 0xad8e38, to_hname = 0x1a6c368 "/view/normanw_9.1/vobs/common/messages/src/Messages.msg"), line 298 in "file.c"
  [6] f_mtime(file = 0xad8e38, search = 1), line 1247 in "remake.c"
  [7] check_dep(file = 0xad8e38, depth = 3U, this_mtime = 1ULL, must_make_ptr = 0xffbfe658), line 971 in "remake.c"
  [8] check_dep(file = 0x4ddec0, depth = 2U, this_mtime = 1ULL, must_make_ptr = 0xffbfe70c), line 1010 in "remake.c"
  [9] update_file_1(file = 0x98268, depth = 1U), line 504 in "remake.c"
  [10] update_file(file = 0x98268, depth = 0), line 306 in "remake.c"
  [11] update_goal_chain(goals = 0xa5afb0), line 154 in "remake.c"
  [12] main(argc = 7, argv = 0xffbff584, envp = 0xffbff5a4), line 2200 in "main.c"

I'll post more info when I have it.

Ab Wilson <abwilson>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

Attached Files
file #1864:  variable.patch added by psmith (678B - text/x-patch - Patch for invalid memory access.)

 

Depends on the following items: None found

Items that depend on this one: None found

 

CC list is empty

 

There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

Only logged-in users can vote.

 

Follow 6 latest changes.

Date Changed by Updated Field Previous Value => Replaced by
2006-04-01 psmith Fixed Release4.0 3.81
2006-02-23 psmith StatusNone Fixed
    Open/ClosedOpen Closed
    Fixed ReleaseNone 4.0
2006-02-21 psmith Assigned toNone psmith
    Attached File- Added variable.patch, #3428

Back to the top

Powered by Savane 3.13-f8d8.
Corresponding source code