Commit Graph

24 Commits

Author SHA1 Message Date
David 'Digit' Turner
8b057ed6f6 Fix bad qemud crash on emulator startup. 2009-05-26 22:21:28 +02:00
David 'Digit' Turner
af45b39d88 This adds a new helper program (qemu-props) to support the emulated system.
Its purpose is to contact the 'boot-properties' service during the
boot process and to set the list of system properties read from the
emulator program through it.

It must be launched from /system/etc/init.goldfish.rc as root.

It depends on the 'boot-properties' service being implemented by the
emulator (in a later patch). If not available, it will simply timeout.

This also fixes a potential crash in qemud which can happen in the following case:

- client sends a command to a service
- the service responds with one or more message
- the service immediately closes the connection before the client can read the data

what happened is that the FDHandler object was buffering out-going packets to the
client, but the Multiplexer acted on the disconnection immediately. This resulted
in:

- client_free() being called
-   fdhandler_shutdown() being called
-     the FDHandler being placed on the 'closing' list to be able to send
      buffered packets later. And 'receiver_close' being called
-       client_fd_close() being called, which would call client_free()
        recursively
-         the second client_free() call would free the object
-  the first client_free() call would try to free the object again
-  ==> dlmalloc() detects a double-free and immediately aborts.

the fixes simply avoids the calle to receiver_close() in fdhandler_shutdown()
since this function is called from an explicit shutdown request from the multiplexer,
it doesn't correspond to the case where the client has closed the connection itself.
2009-05-26 17:07:25 +02:00
Mike Lockwood
6834281462 Sensors: Use a native_handle for the data channel instead of a single file descriptor.
This eliminates the requirement that all sensors share a single file descriptor.
This, along with concurrent changes in other projects, fixes bugs b/1614524 and b/1614481

Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-05-22 10:03:00 -04:00
Jack Veenstra
ceb9788070 Add new trace tool for displaying all the memory regions in a process. 2009-05-19 17:37:00 -07:00
Jack Veenstra
a476e45d1d Add support for native (JNI) calls to the trace tools.
Also fix a bug in profile_pid.cpp and add better output to
stack_dump.cpp.
2009-05-19 16:47:04 -07:00
Jack Veenstra
2bb9bb4546 Handle munmap() and add support for tracing JNI (native) calls.
The munmap() kernel calls are traced but the tracing code wasn't doing
anything with them.  This caused the number of mapped regions in a process
to grow large in some cases and also caused symbol lookup errors in some
rare cases.  This change also adds support for new trace record types
for supporting JNI (native) calls from Java into native code. This helps
with constructing a more accurate call stack.
2009-05-19 15:07:29 -07:00
Jack Veenstra
f55a4d1e9d Add a new program for checking the correctness of the computed stack from a trace.
The check_stack program checks that the generated stack that includes both
native functions and Java methods (generated from the emulator instruction
trace plus the method trace) is consistent with the stack of Java methods
that is computed from the method trace alone. (The method trace is
generated by the Dalvik interpreter).
2009-05-11 17:44:32 -07:00
Jack Veenstra
447a4e4fd6 Better output for viewing the method trace.
This now keeps track of the names of the methods on the stack instead
of just the addresses.  This makes it easier to debug when something goes
wrong.
2009-05-11 17:18:08 -07:00
Jack Veenstra
1298570eb8 Fix the tracing code that keeps track of the Java method stack.
This fixes a bug that was causing a "stack overflow" because it sometimes
wasn't popping off a Java method when it should have.  I also changed the
showStack() method so that instead of always printing to stderr, you can
pass in a FILE* object to print to.
2009-05-11 16:46:48 -07:00
Jack Veenstra
ad6f253016 Add a "-d time" option to stack_dump to dump the stack at the given time. 2009-05-09 11:44:53 -07:00
Jack Veenstra
166d76cf4c Fix compiler warnings by changing "char*" to "const char*". 2009-05-09 11:33:44 -07:00
Jack Veenstra
8b496573a9 Fix a memory deallocation error that was crashing q2dm.
Also fix a bunch of compile warnings by changing "char *" to "const char *".
2009-04-28 13:03:22 -07:00
David Turner
240094a972 AI 146315: am: CL 146314 modify GSM emulation to accomodate 1.0 and 1.1 system images.
without this, networking doesn't work well when using the 1.1 add-on with
  the cupcake sdk
  Original author: digit
  Merged from: //branches/cupcake/...

Automated import of CL 146315
2009-04-15 06:50:15 -07:00
Andy Stadler
e1a5a9bf5d AI 145778: Manual merge changes 145382-145384 from cupcake.
Automated import of CL 145778
2009-04-10 16:24:46 -07:00
David Turner
d7484a2ff5 AI 144596: am: CL 144595 Fix the AVD configuration code to support "sdcard.path" in config.ini to indicate an explicit SD Card image file (instead of using the one in the content directory)
Note that this also fix a bug where the SD Card image was not properly locked in the previous implementation.
  Allow the http-proxy support code to actually manage to receive chunked encoding data, instead of complaining needlessly.
  Introduce a new CharBuffer object that is used indirectly by "-radio <hostdevice>" and "-gps <hostdevice>" options
  Add new documentation for QEMUD and CharDriverState objects
  Update the Audio documentation with ASCII graphics (because I'm an artist too)
  Original author: digit
  Merged from: //branches/cupcake/...

Automated import of CL 144596
2009-04-05 14:22:25 -07:00
Mike Lockwood
f5171c1aa7 AI 143204: am: CL 142988 Remove emulator support from user builds.
Saves us 52K in /system partition.
  BUG=1739507
  Original author: lockwood
  Merged from: //branches/cupcake/...

Automated import of CL 143204
2009-03-27 17:53:21 -07:00
The Android Open Source Project
6ffae015b4 auto import from //branches/cupcake_rel/...@140373 2009-03-18 17:39:43 -07:00
The Android Open Source Project
243d18eb22 auto import from //branches/cupcake/...@137873 2009-03-11 12:11:54 -07:00
The Android Open Source Project
52d4c30ca5 auto import from //depot/cupcake/@135843 2009-03-03 19:29:09 -08:00
The Android Open Source Project
d4aee0c0ca auto import from //depot/cupcake/@135843 2009-03-03 18:28:16 -08:00
The Android Open Source Project
b8d704a517 auto import from //branches/cupcake/...@126645 2009-01-15 16:12:07 -08:00
The Android Open Source Project
95cf464c5a auto import from //branches/cupcake/...@125939 2009-01-09 17:51:19 -08:00
The Android Open Source Project
e943f2fd8e Code drop from //branches/cupcake/...@124589 2008-12-17 18:04:04 -08:00
The Android Open Source Project
5c11852110 Initial Contribution 2008-10-21 07:00:00 -07:00