This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: Bash login breaks if too many environment variables are set


The problem can be reproduced with cygwin1-20050916.dll
The output of strace in the case of a stackdump is below.

**********************************************
Program name: c:\cygwin\bin\bash.exe (pid 2692, ppid 1)
App version:  1005.18, api: 0.132
DLL version:  1005.19, api: 0.138
DLL build:    20050916 00:00:39SNP
OS version:   Windows NT-5.1
Heap size:    1073741824
Date/Time:    2005-09-16 12:38:36
**********************************************
   26     275 [main] bash 2692 set_myself: myself->dwProcessId 2692
   24     299 [main] bash 2692 time: 1126867116 = time (0)
  440     739 [main] bash 2692 environ_init: 0x10010238: X$
   37     776 [main] bash 2692 environ_init: 0x10010248: ðH$
  102     878 [main] bash 2692 handle_exceptions: In cygwin_except_handler exc 0xC0000005 at 0x610D6971 sp 0x22EE64
   25     903 [main] bash 2692 handle_exceptions: In cygwin_except_handler sig 11 at 0x610D6971
   21     924 [main] bash 2692 handle_exceptions: In cygwin_except_handler calling 0x0
   20     944 [main] bash 2692 handle_exceptions: Exception: STATUS_ACCESS_VIOLATION
  302    1246 [main] bash 2692 try_to_debug: debugger_command ''
  682    1928 [main] bash 2692 open_stackdumpfile: Dumping stack trace to bash.exe.stackdump
1760359 1762287 [main] bash 2692 signal_exit: about to call do_exit (8B)
   66 1762353 [main] bash 2692 do_exit: do_exit (139), exit_state 0
   57 1762410 [main] bash 2692 void: 0x0 = signal (20, 0x1)
   48 1762458 [main] bash 2692 void: 0x0 = signal (1, 0x1)
   45 1762503 [main] bash 2692 void: 0x0 = signal (2, 0x1)
   45 1762548 [main] bash 2692 void: 0x0 = signal (3, 0x1)
   66 1762614 [main] bash 2692 sigproc_terminate: entering
   49 1762663 [main] bash 2692 sig_send: my_sendsig 0x0, myself->sendsig 0x0, exit_state 9
   47 1762710 [main] bash 2692 __set_errno: int sig_send(_pinfo*, siginfo_t&, _cygtls*):548 val 11
   48 1762758 [main] bash 2692 sig_send: returning 0x1 from sending signal -42
   46 1762804 [main] bash 2692 proc_terminate: nprocs 0
   44 1762848 [main] bash 2692 proc_terminate: leaving
   84 1762932 [main] bash 2692 sigproc_terminate: already performed
   49 1762981 [main] bash 2692 __to_clock_t: dwHighDateTime 0, dwLowDateTime 100144
   47 1763028 [main] bash 2692 __to_clock_t: total 00000000 0000000A
   46 1763074 [main] bash 2692 __to_clock_t: dwHighDateTime 0, dwLowDateTime 200288
   47 1763121 [main] bash 2692 __to_clock_t: total 00000000 00000014
  933 1764054 [main] bash 2692 pinfo::maybe_set_exit_code_from_windows: pid 2692, exit value - old 0x800008B, windows 0xDEADBEEF, cygwin 0x800008B
  145 1764199 [main] bash 2692 pinfo::exit: Calling ExitThread hProcess 0x0, n 0x8B, exitcode 0x0



-----Original Message-----

On Sep 16 11:08, Hommersom, Fred wrote:
> 
> Thanks for the replies so far. Unfortunately is the best option (set 
> variables in bash) not feasable.
> The .bat file is a complex set of bat files with logic inside so that 
> would take a lot of effort to convert But I have done some experiments 
> with bash without --login option and the advised export -p.
> 
> The number of variables itself does not seem to be the problem.
> The length of the values is also important. So to get an idea what is 
> going on I have incremented the number of variables up to the point 
> where export -p still gives the right output.
> Now I add 1 character at a time to a value and tested export - p.
> Only the built-in commands work now. All others end with "Resource 
> temporarily unavailable"
> 
> There comes a point where adding 1 more character ends up with:
>     138 [main] bash 2556 handle_exceptions: Exception:
> STATUS_ACCESS_VIOLATION
>     887 [main] bash 2556 open_stackdumpfile: Dumping stack trace to 
> bash.exe.stackdump
> 
> The stackdump contains
> Exception: STATUS_ACCESS_VIOLATION at eip=61014DEE eax=00246000 
> ebx=10012910 ecx=00000003 edx=00245FFF esi=00000000
> edi=6110A1C4
> ebp=0022EEE8 esp=0022EE90 program=c:\cygwin\bin\bash.exe, pid 2556, 
> thread main cs=001B ds=0023 es=0023 fs=003B gs=0000 ss=0023
> Stack trace: Frame     Function  Args
> 0022EEE8  61014DEE  (00000000, 00000000, 0022EF18, 61087B02)
> 0022EF18  61068028  (00000000, 00000000, 7C90EE18, 7C919AF0)
> 0022EFD8  61004B16  (0022EFF0, 77D70467, 77D49A18, FFFFFFFF)
> 0022FF88  6100594F  (00000000, 00000000, 00000000, 00000000) End of 
> stack trace

>The stackdump isn't very useful unless there's debug information available, which isn't for 1.5.18.  Would you mind to try the same with the latest snapshot DLL,
>
>http://cygwin.com/snapshots/cygwin1-20050916.dll.bz2
>
>and report back if either the problem is solved or if not, send the resulting strace?


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]