bugThe GNU Hurd - Bugs: bug #19473, Running a fatfs translator on a...

 
 

bug #19473: Running a fatfs translator on a node N can crash the file system server where N is on

Submitted by:  Thomas Schwinge <tschwinge>
Submitted on:  Fri 30 Mar 2007 06:14:58 PM UTC  
 
Category:  Hurd Servers Severity:  3 - Normal
Priority:  5 - Normal Item Group:  None
Status:  None Privacy:  Public
Assigned to:  None Originator Name: 
Open/Closed:  Open Reproducibility:  Every Time
Size (loc):  None Planned Release:  None
Effort:  0.00
Wiki-like text discussion box: 

Add a New Comment (Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

Sat 31 Mar 2007 10:30:15 AM UTC, comment #1: 

With this change I just applied the dynamically linked fatfs will work again.

#v+
2007-03-31  Thomas Schwinge  <tschwinge@gnu.org>

        * Makefile (HURDLIBS): Put ``threads'' in front of ``ports''.
#v-

Nevertheless, the original report posted here is still valid and should be fixed.

Thomas Schwinge <tschwinge>
Project Administrator
Fri 30 Mar 2007 06:14:58 PM UTC, original submission:  

The current Debian-shipped fatfs translator doesn't work.  I got a statically linked one to work.  However, the current `/hurd/fatfs' will, when run on a node N, crash the file system server where N is on.  It goes like this:

#v+
Program received signal EXC_BAD_ACCESS, Could not access memory.
[Switching to thread 459.10]
0x010f8000 in _hurd_intr_rpc_msg_sp_restored () from /lib/libc.so.0.3
(gdb) bt
#0  0x010f8000 in _hurd_intr_rpc_msg_sp_restored () from /lib/libc.so.0.3
#1  0x01273768 in fsys_getroot () from /lib/libhurduser.so.0.3
#2  0x0105f4ea in fshelp_fetch_root (box=0x8065cec, cookie=0x805ef18, dotdot=37, user=0x805eec0, flags=64,
    callback1=0x1037d10 <short_circuited_callback1.10167>, callback2=0x104dbf0 <_diskfs_translator_callback2_fn>, retry=0x132df74,
    retryname=0x132df7c "", root=0x132e380) at /var/tmp/hurd-io+stat+fatfs/hurd-20060825/build-tree/hurd/libfshelp/fetch-root.c:179
#3  0x0103844e in diskfs_S_dir_lookup (dircred=0x805ee68, path=0x132bf5c "b", flags=<value optimized out>, mode=0, retry=0x132df74,
    retryname=0x132df7c "", returned_port=0x132e380, returned_port_poly=0x132be60)
    at /var/tmp/hurd-io+stat+fatfs/hurd-20060825/build-tree/hurd/libdiskfs/dir-lookup.c:275
#4  0x01040cab in _Xdir_lookup (InHeadP=0x132bf40, OutHeadP=0x132df50) at fsServer.c:1521
#5  0x0103e9ad in diskfs_fs_server (InHeadP=0x132bf40, OutHeadP=0x805d618) at fsServer.c:2682
#6  0x0103719e in diskfs_demuxer (inp=0x132bf40, outp=0x132df50)
    at /var/tmp/hurd-io+stat+fatfs/hurd-20060825/build-tree/hurd/libdiskfs/demuxer.c:32
#7  0x010aedfd in internal_demuxer (inp=0x132bf40, outheadp=0x132df50)
    at /var/tmp/hurd-io+stat+fatfs/hurd-20060825/build-tree/hurd/libports/manage-multithread.c:119
#8  0x010dcd32 in mach_msg_server_timeout () from /lib/libc.so.0.3
#9  0x010aeb84 in thread_function.7379 () at /var/tmp/hurd-io+stat+fatfs/hurd-20060825/build-tree/hurd/libports/manage-multithread.c:170
#10 0x010a892d in cthread_body (self=0x8066c70) at /var/tmp/hurd-io+stat+fatfs/hurd-20060825/build-tree/hurd/libthreads/cthreads.c:306
#11 0x00000000 in ?? ()
(gdb) x/5i $pc
0x10f8000 <_hurd_intr_rpc_msg_sp_restored+977>: mov    (%edi),%eax
0x10f8002 <_hurd_intr_rpc_msg_sp_restored+979>: inc    %esi
0x10f8003 <_hurd_intr_rpc_msg_sp_restored+980>: add    $0x4,%edi
0x10f8006 <_hurd_intr_rpc_msg_sp_restored+983>: mov    %eax,0x4(%esp)
0x10f800a <_hurd_intr_rpc_msg_sp_restored+987>: mov    0xffffffbc(%ebp),%ecx
(gdb) info registers
eax            0x2      2
ecx            0x11     17
edx            0x805d618        134600216
ebx            0x124067c        19138172
esp            0x132aaa4        0x132aaa4
ebp            0x132ab0c        0x132ab0c
esi            0x1      1
edi            0x25     37
eip            0x10f8000        0x10f8000 <_hurd_intr_rpc_msg_sp_restored+977>
eflags         0x10202  [ IF RF ]
cs             0x17     23
ss             0x1f     31
ds             0x1f     31
es             0x1f     31
fs             0x1f     31
gs             0x1f     31
#v-

Thomas Schwinge <tschwinge>
Project Administrator

 

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

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by tschwinge (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

     

     

    No changes have been made to this item

    Back to the top


    Powered by Savane 3.5