| Anonymous | Login | Signup for a new account | 2013-05-22 20:42 CEST | ![]() |
| Main | My View | View Issues | Change Log | Roadmap |
| View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||||
| ID | Project | Category | View Status | Date Submitted | Last Update | ||||||
| 0004995 | OCaml | OCaml general | public | 2010-03-08 04:48 | 2012-09-06 19:22 | ||||||
| Reporter | furuse | ||||||||||
| Assigned To | shinwell | ||||||||||
| Priority | normal | Severity | major | Reproducibility | always | ||||||
| Status | assigned | Resolution | open | ||||||||
| Platform | OS | OS Version | |||||||||
| Product Version | 3.11.2 | ||||||||||
| Target Version | 4.00.2+dev | Fixed in Version | |||||||||
| Summary | 0004995: calls to stat() don't release the runtime lock | ||||||||||
| Description | It is as same as the case 0004801 (http://caml.inria.fr/mantis/view.php?id=4801 [^]), for stat, lstat and fstat. There are calls of stat functions in the runtime and unix library which do not release the runtime lock, They may cause the runtime to block if the target files are in NFS mounts and the server is heavily loaded. The patch wraps the calls of stats in otherlibs/unix/stat.c and byterun/sys.c so that they could release the lock. There are some other stat calls but I did not wrap them since: The other calls in byterun are for startup, I guess. otherlibs/threads/scheduler.c has a fstat(), but it is in the heart of the scheduler. | ||||||||||
| Tags | No tags attached. | ||||||||||
| Attached Files | |||||||||||
Notes |
|
|
(0005261) mottl (reporter) 2010-03-08 17:45 |
Please disregard the patch, it contains several memory-handling bugs. We will submit a new one soon, which will also address locking problems with other system calls. |
|
(0005267) furuse (reporter) 2010-03-09 01:41 |
Thanks Markus. I just thought wrapping caml_{enter,leave}_blocking_section do the job but it is wrong. |
|
(0005268) mottl (reporter) 2010-03-09 07:01 |
No problem, welcome to the subtleties of the OCaml runtime... ;-) |
|
(0006125) mottl (reporter) 2011-09-16 02:39 |
Just pinging - Mark, any chance this can be fixed in the next OCaml release? Jane Street Core handles this particular problem correctly, it seems. Though I'd recommend avoiding "stat64", etc., which seem to have become deprecated function calls on both Linux and Mac OS X. |
Issue History |
|||
| Date Modified | Username | Field | Change |
| 2010-03-08 04:48 | furuse | New Issue | |
| 2010-03-08 04:48 | furuse | File Added: 006-stat.patch | |
| 2010-03-08 17:45 | mottl | Note Added: 0005261 | |
| 2010-03-09 01:41 | furuse | Note Added: 0005267 | |
| 2010-03-09 07:01 | mottl | Note Added: 0005268 | |
| 2010-03-30 13:02 | shinwell | Status | new => assigned |
| 2010-03-30 13:02 | shinwell | Assigned To | => shinwell |
| 2011-09-16 02:39 | mottl | Note Added: 0006125 | |
| 2012-07-04 17:14 | doligez | Target Version | => 4.00.0+dev |
| 2012-07-12 14:03 | doligez | Target Version | 4.00.0+dev => 4.01.0+dev |
| 2012-07-31 13:36 | doligez | Target Version | 4.01.0+dev => 4.00.1+dev |
| 2012-09-06 19:22 | frisch | Target Version | 4.00.1+dev => 4.00.2+dev |
| Copyright © 2000 - 2011 MantisBT Group |