You can subscribe to this list here.
2004 |
Jan
(64) |
Feb
(530) |
Mar
(266) |
Apr
(580) |
May
(360) |
Jun
(161) |
Jul
(185) |
Aug
(164) |
Sep
(123) |
Oct
(160) |
Nov
(59) |
Dec
(84) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(156) |
Feb
(95) |
Mar
(124) |
Apr
(81) |
May
(79) |
Jun
(179) |
Jul
(35) |
Aug
(64) |
Sep
(56) |
Oct
(57) |
Nov
(18) |
Dec
(41) |
2006 |
Jan
(65) |
Feb
(37) |
Mar
(59) |
Apr
(73) |
May
(65) |
Jun
(27) |
Jul
(54) |
Aug
(76) |
Sep
(103) |
Oct
(23) |
Nov
(45) |
Dec
(29) |
2007 |
Jan
(41) |
Feb
(47) |
Mar
(61) |
Apr
(24) |
May
(14) |
Jun
(6) |
Jul
(23) |
Aug
(30) |
Sep
(16) |
Oct
(9) |
Nov
(53) |
Dec
(36) |
2008 |
Jan
(19) |
Feb
(49) |
Mar
(74) |
Apr
(21) |
May
(24) |
Jun
(5) |
Jul
(9) |
Aug
(53) |
Sep
(26) |
Oct
(23) |
Nov
(32) |
Dec
(19) |
2009 |
Jan
(47) |
Feb
(49) |
Mar
(39) |
Apr
(61) |
May
(28) |
Jun
(19) |
Jul
(12) |
Aug
(10) |
Sep
(31) |
Oct
(16) |
Nov
(60) |
Dec
(26) |
2010 |
Jan
(17) |
Feb
(9) |
Mar
(32) |
Apr
(11) |
May
(24) |
Jun
(33) |
Jul
(5) |
Aug
(2) |
Sep
(7) |
Oct
(8) |
Nov
(17) |
Dec
(7) |
2011 |
Jan
(12) |
Feb
(16) |
Mar
(2) |
Apr
(12) |
May
(5) |
Jun
(10) |
Jul
(3) |
Aug
(3) |
Sep
(2) |
Oct
(1) |
Nov
(17) |
Dec
(1) |
2012 |
Jan
(9) |
Feb
(9) |
Mar
(8) |
Apr
(4) |
May
(2) |
Jun
(1) |
Jul
(4) |
Aug
(8) |
Sep
(11) |
Oct
(1) |
Nov
(2) |
Dec
(2) |
2013 |
Jan
|
Feb
(7) |
Mar
(4) |
Apr
(10) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(5) |
Dec
(3) |
2016 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2023 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
From: Sugree P. <su...@hp...> - 2004-02-25 05:22:53
|
Furthermore, it's missing </block_device> for root_fs. Sugree Phatanapherom su...@hp... ----- Original Message ----- From: "Christophe Thibault" <ch...@ae...> To: "Cooperative Linux Development" <col...@li...> Sent: Wednesday, February 25, 2004 11:00 AM Subject: Re: [coLinux-devel] coLinux 0.5.4 > Noticed a typo in default.colinux.xml supplied in the binary zip: > > <network index="0" type="tap" name="TAP"</network> > > It's missing the closing > on the network tag. > > -Christophe > > ----- Original Message ----- > From: "Dan Aloni" <da...@gm...> > To: "Cooperative Linux Development" <col...@li...> > Sent: Tuesday, February 24, 2004 7:16 PM > Subject: [coLinux-devel] coLinux 0.5.4 > > > > This release brings the context switching code of coLinux much closer to > > completeness. It's the most sensitive code in this project but the most > > important one. > > > > I'd like to thank Alejandro R. Sedeno for the quick but excellent > > pcap-based Bridged Ethernet contribution, and also others who > > helped to debug other stuff that led to this release. > > > > * Version 0.5.4 AKA "Focal Segmental Glomerulosclerosis" (%gs/%fs) release > > * Fixed an issue with i686-optimized pthread and the preservation of > > %gs and %fs. The crashes that were caused by the i686 Gentoo image > > should now disappear. > > WINE would also work now ;) > > * cobd: Fixed accessing large block devices (1GB >). cobd0 was passing > > wrong information to userspace. > > * conet: Statistics are now gathered (patch by Pat Erley) > > * Tuned the time conversion between Windows and Linux. The machine is > > now initialized with the right date, not 4 days backwards. > > * Applied a configuration parsing fix (patch by Ballard Jonathan) > > * Some improvements of the switch code. We now preserve more > > registers, (MMX/SSE/SSE2/FP), and coLinux now has its own GDT. > > These changes should assure stability on more systems and processors. > > This fix also appears to solve the problem where processes were > > stuck on nanosleep() calls. > > * conet-pcap: pcap-based daemon (contributed by Alejandro R. Sedeno). > > * Network configuration is now handled in the coLinux configuration > > XML. > > For backward compatibility, add: > > <network index="0" name="TAP" type="tap"></network> > > > > If you want to use pcap (i.e, bridged Ethernet), add: > > <network index="0" name="XXXX" type="bridged"></network> > > (Where XXXX is a substring of your network adapter's name) > > > > Optional attributes: mac="XX:XX:XX:XX:XX:XX" - specifies the MAC > > address of the interface in the Linux side. Recommended on bridged > > networking setups, where more than one Windows machine will be > > running coLinux on the same subnet. > > > > I also prepared the ground for supporting more than one network > > device (i.e, eth1, eth2, etc.), but it is not yet completed. > > * linux: avoid more I/O in time.c. > > > > > > A side note: > > > > For the non-developers and developers among you: would anyone like to > > update the doc/running file, and whatever documentation files you see > > fit? > > > > -- > > Dan Aloni > > da...@gm... > > > > > > ------------------------------------------------------- > > SF.Net is sponsored by: Speed Start Your Linux Apps Now. > > Build and deploy apps & Web services for Linux with > > a free DVD software kit from IBM. Click Now! > > http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click > > _______________________________________________ > > coLinux-devel mailing list > > coL...@li... > > https://lists.sourceforge.net/lists/listinfo/colinux-devel > > > > ------------------------------------------------------- > SF.Net is sponsored by: Speed Start Your Linux Apps Now. > Build and deploy apps & Web services for Linux with > a free DVD software kit from IBM. Click Now! > http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click > _______________________________________________ > coLinux-devel mailing list > coL...@li... > https://lists.sourceforge.net/lists/listinfo/colinux-devel |
From: Christophe T. <ch...@ae...> - 2004-02-25 04:11:50
|
Noticed a typo in default.colinux.xml supplied in the binary zip: <network index="0" type="tap" name="TAP"</network> It's missing the closing > on the network tag. -Christophe ----- Original Message ----- From: "Dan Aloni" <da...@gm...> To: "Cooperative Linux Development" <col...@li...> Sent: Tuesday, February 24, 2004 7:16 PM Subject: [coLinux-devel] coLinux 0.5.4 > This release brings the context switching code of coLinux much closer to > completeness. It's the most sensitive code in this project but the most > important one. > > I'd like to thank Alejandro R. Sedeno for the quick but excellent > pcap-based Bridged Ethernet contribution, and also others who > helped to debug other stuff that led to this release. > > * Version 0.5.4 AKA "Focal Segmental Glomerulosclerosis" (%gs/%fs) release > * Fixed an issue with i686-optimized pthread and the preservation of > %gs and %fs. The crashes that were caused by the i686 Gentoo image > should now disappear. > WINE would also work now ;) > * cobd: Fixed accessing large block devices (1GB >). cobd0 was passing > wrong information to userspace. > * conet: Statistics are now gathered (patch by Pat Erley) > * Tuned the time conversion between Windows and Linux. The machine is > now initialized with the right date, not 4 days backwards. > * Applied a configuration parsing fix (patch by Ballard Jonathan) > * Some improvements of the switch code. We now preserve more > registers, (MMX/SSE/SSE2/FP), and coLinux now has its own GDT. > These changes should assure stability on more systems and processors. > This fix also appears to solve the problem where processes were > stuck on nanosleep() calls. > * conet-pcap: pcap-based daemon (contributed by Alejandro R. Sedeno). > * Network configuration is now handled in the coLinux configuration > XML. > For backward compatibility, add: > <network index="0" name="TAP" type="tap"></network> > > If you want to use pcap (i.e, bridged Ethernet), add: > <network index="0" name="XXXX" type="bridged"></network> > (Where XXXX is a substring of your network adapter's name) > > Optional attributes: mac="XX:XX:XX:XX:XX:XX" - specifies the MAC > address of the interface in the Linux side. Recommended on bridged > networking setups, where more than one Windows machine will be > running coLinux on the same subnet. > > I also prepared the ground for supporting more than one network > device (i.e, eth1, eth2, etc.), but it is not yet completed. > * linux: avoid more I/O in time.c. > > > A side note: > > For the non-developers and developers among you: would anyone like to > update the doc/running file, and whatever documentation files you see > fit? > > -- > Dan Aloni > da...@gm... > > > ------------------------------------------------------- > SF.Net is sponsored by: Speed Start Your Linux Apps Now. > Build and deploy apps & Web services for Linux with > a free DVD software kit from IBM. Click Now! > http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click > _______________________________________________ > coLinux-devel mailing list > coL...@li... > https://lists.sourceforge.net/lists/listinfo/colinux-devel |
From: Christophe T. <ch...@ae...> - 2004-02-25 04:01:18
|
Hey Alejandro, Is it because of the fact that you need to put the card in promiscuous mode (or whatever that name is)? Because some 802.11 wireless PCMCIA cards support that mode fine. -Christophe ----- Original Message ----- From: "Alejandro R. Sedeno" <as...@MI...> To: "Cooperative Linux Development" <col...@li...> Sent: Tuesday, February 24, 2004 7:28 PM Subject: Re: [coLinux-devel] coLinux 0.5.4 > > * conet-pcap: pcap-based daemon (contributed by Alejandro R. Sedeno). > > This option only works with 802.3 (wired) networks, not 802.11 networks > (or others for that matter). > > -Alejandro > > > > ------------------------------------------------------- > SF.Net is sponsored by: Speed Start Your Linux Apps Now. > Build and deploy apps & Web services for Linux with > a free DVD software kit from IBM. Click Now! > http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click > _______________________________________________ > coLinux-devel mailing list > coL...@li... > https://lists.sourceforge.net/lists/listinfo/colinux-devel |
From: Alejandro R. S. <as...@MI...> - 2004-02-25 03:37:55
|
> * conet-pcap: pcap-based daemon (contributed by Alejandro R. Sedeno). This option only works with 802.3 (wired) networks, not 802.11 networks (or others for that matter). -Alejandro |
From: Dan A. <da...@gm...> - 2004-02-25 03:24:56
|
This release brings the context switching code of coLinux much closer to completeness. It's the most sensitive code in this project but the most important one. I'd like to thank Alejandro R. Sedeno for the quick but excellent pcap-based Bridged Ethernet contribution, and also others who helped to debug other stuff that led to this release. * Version 0.5.4 AKA "Focal Segmental Glomerulosclerosis" (%gs/%fs) release * Fixed an issue with i686-optimized pthread and the preservation of %gs and %fs. The crashes that were caused by the i686 Gentoo image should now disappear. WINE would also work now ;) * cobd: Fixed accessing large block devices (1GB >). cobd0 was passing wrong information to userspace. * conet: Statistics are now gathered (patch by Pat Erley) * Tuned the time conversion between Windows and Linux. The machine is now initialized with the right date, not 4 days backwards. * Applied a configuration parsing fix (patch by Ballard Jonathan) * Some improvements of the switch code. We now preserve more registers, (MMX/SSE/SSE2/FP), and coLinux now has its own GDT. These changes should assure stability on more systems and processors. This fix also appears to solve the problem where processes were stuck on nanosleep() calls. * conet-pcap: pcap-based daemon (contributed by Alejandro R. Sedeno). * Network configuration is now handled in the coLinux configuration XML. For backward compatibility, add: <network index="0" name="TAP" type="tap"></network> If you want to use pcap (i.e, bridged Ethernet), add: <network index="0" name="XXXX" type="bridged"></network> (Where XXXX is a substring of your network adapter's name) Optional attributes: mac="XX:XX:XX:XX:XX:XX" - specifies the MAC address of the interface in the Linux side. Recommended on bridged networking setups, where more than one Windows machine will be running coLinux on the same subnet. I also prepared the ground for supporting more than one network device (i.e, eth1, eth2, etc.), but it is not yet completed. * linux: avoid more I/O in time.c. A side note: For the non-developers and developers among you: would anyone like to update the doc/running file, and whatever documentation files you see fit? -- Dan Aloni da...@gm... |
From: Jason A. P. <pat...@pc...> - 2004-02-24 16:14:39
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Pat Erley wrote: | I don't believe cvs is even available yet. I hope at least the author has CVS setup. | Basically, any patches worth noting are floating around on here. Check the archives. Perhaps after the next release somone will setup cvs, but I have no authority to do such a thing, or insider info to say it'll be done. Is there a timeline for the next release? It would be nice to finally get KDE apps working under cygwin X or even VNC. They always crash cygwin's X server and hang VNC viewer(/server?) when I run them. Even xchat causes a horrible death. About the only thing that works right for me is xterm. Also, I can't mount my native linux partitions, because, apparently (from other gleanings on this list), my native partition is larger than 1GB which explains why my /boot and swap partitions (which are only 100MB and 256MB) work, while the rest do not, since they are larger than 1GB. Thanks. Keep up the good work. - -- Jason A. Pattie pat...@xp... Xperience, Inc. (http://www.xperienceinc.com) -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.3 (GNU/Linux) Comment: Using GnuPG with Debian - http://enigmail.mozdev.org iD8DBQFAO3ZcuYsUrHkpYtARAotnAJ9Z2pWmMQ7kGbO8pd2p6brhPEhU8gCeNNys l8iU2Qsbr248dRnHyRmLvdM= =blfq -----END PGP SIGNATURE----- -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. MailScanner thanks transtec Computers for their support. |
From: Pat E. <pat...@ma...> - 2004-02-24 08:54:22
|
On Tue, 24 Feb 2004 10:23:34 +0600 Dmitriy Kazimirow <dm...@ka...> wrote: > Welcome,all > > Is anonymous R/O CVS for colinux is avaible? > (sourceforge.net/projects/colinux has empty cvs tree) > > > -- > with regards, > Dmitriy mailto:dm...@ka... I don't believe cvs is even available yet. Basically, any patches worth noting are floating around on here. Check the archives. Perhaps after the next release somone will setup cvs, but I have no authority to do such a thing, or insider info to say it'll be done. Pat Erley |
From: Dmitriy K. <dm...@ka...> - 2004-02-24 08:31:55
|
Welcome,all Is anonymous R/O CVS for colinux is avaible? (sourceforge.net/projects/colinux has empty cvs tree) -- with regards, Dmitriy mailto:dm...@ka... |
From: Ballard J. <sac...@ho...> - 2004-02-24 06:09:04
|
Disregard the previous patch. I seperated the patches, made a fix, and = ran the code through Lindent. Here is a link to the patches: http://sourceforge.net/tracker/index.php?func=3Ddetail&aid=3D903212&group= _id=3D98788&atid=3D622065 ----- Original Message -----=20 From: Ballard Jonathan=20 To: coLinux Development=20 Sent: Monday, February 23, 2004 3:49 PM Subject: [coLinux-devel] src/os/winnt/user/daemon.c with debug = messages I made a patch to be patched after the BJH20040223 patch that helps to = debug the co_os_daemon_thread error messages. I have not been able to = reproduce the reported errors. If someone would like to help, the patch = is attached. Thanks. |
From: Matthew H. <haw...@ya...> - 2004-02-24 05:35:54
|
localhost should also be added to /etc/hosts on the debian image __________________________________ Do you Yahoo!? Yahoo! Mail SpamGuard - Read only the mail you want. http://antispam.yahoo.com/tools |
From: Ballard J. <sac...@ho...> - 2004-02-23 23:38:37
|
Index: COLINUX_0/src/colinux/os/winnt/user/daemon.c=0A= diff -u COLINUX_0/src/colinux/os/winnt/user/daemon.c:1.4 = COLINUX_0/src/colinux/os/winnt/user/daemon.c:1.7=0A= --- COLINUX_0/src/colinux/os/winnt/user/daemon.c:1.4 Mon Feb 23 09:49:13 = 2004=0A= +++ COLINUX_0/src/colinux/os/winnt/user/daemon.c Mon Feb 23 15:28:53 2004=0A= @@ -5,14 +5,14 @@=0A= *=0A= * The code is licensed under the GPL. See the COPYING file at=0A= * the root directory.=0A= - */ =0A= + */=0A= =0A= /*=0A= * Ballard, Jonathan H. <cal...@us...>=0A= * 2004 02 22 : Designed and implemented co_os_daemon_thread()=0A= * : with message queue, wait state, and error=0A= * : recovery.=0A= - */ =0A= + */=0A= =0A= #include <windows.h>=0A= #include <stdio.h>=0A= @@ -21,281 +21,320 @@=0A= =0A= #include <colinux/os/alloc.h>=0A= =0A= -static DWORD WINAPI co_os_daemon_thread( LPVOID data ) ;=0A= +static DWORD WINAPI co_os_daemon_thread(LPVOID data);=0A= =0A= -co_rc_t co_os_open_daemon_pipe(co_id_t linux_id, co_module_t module_id, = co_daemon_handle_t *handle_out)=0A= +co_rc_t=0A= +co_os_open_daemon_pipe(co_id_t linux_id, co_module_t module_id,=0A= + co_daemon_handle_t * handle_out)=0A= {=0A= - HANDLE handle =3D INVALID_HANDLE_VALUE ;=0A= - long written =3D 0 ;=0A= - char pathname[0x100] ;=0A= - co_daemon_handle_t daemon_handle =3D 0 ;=0A= -=0A= - snprintf(pathname, sizeof(pathname), "\\\\.\\pipe\\coLinux%d", = (int)linux_id);=0A= -=0A= - co_debug("pipe client %d/%d: Connecting to daemon...\n", linux_id, = module_id);=0A= - =0A= - if( ! WaitNamedPipe(pathname, NMPWAIT_USE_DEFAULT_WAIT) ) {=0A= + HANDLE handle =3D INVALID_HANDLE_VALUE;=0A= + long written =3D 0;=0A= + char pathname[0x100];=0A= + co_daemon_handle_t daemon_handle =3D 0;=0A= +=0A= + snprintf(pathname, sizeof (pathname), "\\\\.\\pipe\\coLinux%d",=0A= + (int) linux_id);=0A= +=0A= + co_debug("pipe client %d/%d: Connecting to daemon...\n", linux_id,=0A= + module_id);=0A= +=0A= + if (!WaitNamedPipe(pathname, NMPWAIT_USE_DEFAULT_WAIT)) {=0A= co_debug("Connection timed out (%x)\n", GetLastError());=0A= - goto co_os_open_daemon_pipe_error ;=0A= + goto co_os_open_daemon_pipe_error;=0A= }=0A= =0A= - co_debug("pipe client %d/%d: Connection established\n", linux_id, = module_id);=0A= + co_debug("pipe client %d/%d: Connection established\n", linux_id,=0A= + module_id);=0A= =0A= - handle =3D CreateFile (=0A= - pathname,=0A= - GENERIC_READ | GENERIC_WRITE,=0A= - 0,=0A= - 0,=0A= - OPEN_EXISTING,=0A= - FILE_FLAG_OVERLAPPED,=0A= - 0=0A= - );=0A= + handle =3D CreateFile(pathname,=0A= + GENERIC_READ | GENERIC_WRITE,=0A= + 0, 0, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0);=0A= =0A= - if( handle =3D=3D INVALID_HANDLE_VALUE )=0A= - goto co_os_open_daemon_pipe_error ;=0A= + if (handle =3D=3D INVALID_HANDLE_VALUE)=0A= + goto co_os_open_daemon_pipe_error;=0A= =0A= /* Identify ourselves to the daemon */=0A= - if( ! WriteFile( handle , &module_id , sizeof(module_id) , &written, = NULL ) ) {=0A= - co_debug( "pipe client %d/%d: Attachment failed\n" , linux_id , = module_id ) ;=0A= - goto co_os_open_daemon_pipe_error ;=0A= - }=0A= -=0A= - if( ! ( daemon_handle =3D co_os_malloc(sizeof(*daemon_handle)) ) )=0A= - goto co_os_open_daemon_pipe_error ;=0A= - daemon_handle->handle =3D handle ;=0A= - daemon_handle->loop =3D 1 ;=0A= - daemon_handle->rc =3D CO_RC( OK ) ;=0A= - daemon_handle->message =3D 0 ;=0A= - daemon_handle->shifted =3D CreateEvent( 0 , FALSE , FALSE , 0 ) ;=0A= - daemon_handle->readable =3D CreateEvent( 0 , TRUE , TRUE , 0 ) ;=0A= - if( ! ( daemon_handle->shifted && daemon_handle->readable ) )=0A= - goto co_os_open_daemon_pipe_error ;=0A= - daemon_handle->thread =3D CreateThread( 0 , 0 , co_os_daemon_thread , = daemon_handle , 0 , 0 ) ;=0A= -=0A= - if( daemon_handle->thread ) {=0A= - *handle_out =3D daemon_handle ;=0A= - return CO_RC( OK ) ;=0A= - }=0A= -=0A= - co_debug("co_os_daemon_thread() did not start\n") ;=0A= -=0A= - co_os_open_daemon_pipe_error:=0A= - if( daemon_handle ) {=0A= - if( daemon_handle->readable )=0A= - CloseHandle( daemon_handle->readable ) ;=0A= - if( daemon_handle->shifted )=0A= - CloseHandle( daemon_handle->shifted ) ;=0A= - if( daemon_handle->thread )=0A= - CloseHandle( daemon_handle->thread ) ;=0A= - co_os_free( daemon_handle ) ;=0A= - }=0A= - if( handle !=3D INVALID_HANDLE_VALUE )=0A= - CloseHandle( handle ) ;=0A= - return CO_RC( ERROR ) ;=0A= + if (!WriteFile(handle, &module_id, sizeof (module_id), &written, = NULL)) {=0A= + co_debug("pipe client %d/%d: Attachment failed\n", linux_id,=0A= + module_id);=0A= + goto co_os_open_daemon_pipe_error;=0A= + }=0A= +=0A= + if (!(daemon_handle =3D co_os_malloc(sizeof (*daemon_handle))))=0A= + goto co_os_open_daemon_pipe_error;=0A= + daemon_handle->handle =3D handle;=0A= + daemon_handle->loop =3D 1;=0A= + daemon_handle->rc =3D CO_RC(OK);=0A= + daemon_handle->message =3D 0;=0A= + daemon_handle->shifted =3D CreateEvent(0, FALSE, FALSE, 0);=0A= + daemon_handle->readable =3D CreateEvent(0, TRUE, TRUE, 0);=0A= + if (!(daemon_handle->shifted && daemon_handle->readable))=0A= + goto co_os_open_daemon_pipe_error;=0A= + daemon_handle->thread =3D=0A= + CreateThread(0, 0, co_os_daemon_thread, daemon_handle, 0, 0);=0A= +=0A= + if (daemon_handle->thread) {=0A= + *handle_out =3D daemon_handle;=0A= + return CO_RC(OK);=0A= + }=0A= +=0A= + co_debug("co_os_daemon_thread() did not start\n");=0A= +=0A= + co_os_open_daemon_pipe_error:=0A= + if (daemon_handle) {=0A= + if (daemon_handle->readable)=0A= + CloseHandle(daemon_handle->readable);=0A= + if (daemon_handle->shifted)=0A= + CloseHandle(daemon_handle->shifted);=0A= + if (daemon_handle->thread)=0A= + CloseHandle(daemon_handle->thread);=0A= + co_os_free(daemon_handle);=0A= + }=0A= + if (handle !=3D INVALID_HANDLE_VALUE)=0A= + CloseHandle(handle);=0A= + return CO_RC(ERROR);=0A= }=0A= =0A= -co_rc_t co_os_daemon_get_message(co_daemon_handle_t handle, =0A= - co_message_t **message_out,=0A= - unsigned long timeout)=0A= +co_rc_t=0A= +co_os_daemon_get_message(co_daemon_handle_t handle,=0A= + co_message_t ** message_out, unsigned long timeout)=0A= {=0A= - DWORD r ;=0A= - co_rc_t rc =3D handle->rc ;=0A= + DWORD r;=0A= + co_rc_t rc =3D handle->rc;=0A= =0A= - *message_out =3D NULL; =0A= + *message_out =3D NULL;=0A= =0A= - if( handle->message ) {=0A= - *message_out =3D handle->message ;=0A= - handle->message =3D 0 ;=0A= - return CO_RC( OK ) ;=0A= + if (handle->message) {=0A= + *message_out =3D handle->message;=0A= + handle->message =3D 0;=0A= + return CO_RC(OK);=0A= }=0A= =0A= - if( ! CO_OK( rc ) )=0A= - return rc ;=0A= -=0A= - SetEvent( handle->shifted ) ;=0A= + if (!CO_OK(rc))=0A= + return rc;=0A= =0A= - r =3D MsgWaitForMultipleObjects( 1 , &handle->readable , FALSE , = timeout , QS_ALLEVENTS ) ;=0A= - if( r =3D=3D WAIT_TIMEOUT || r =3D=3D WAIT_OBJECT_0 + 1 )=0A= - return CO_RC( TIMEOUT ) ;=0A= + SetEvent(handle->shifted);=0A= =0A= - if( handle->message ) {=0A= - *message_out =3D handle->message ;=0A= - handle->message =3D 0 ;=0A= + r =3D MsgWaitForMultipleObjects(1, &handle->readable, FALSE, timeout,=0A= + QS_ALLEVENTS);=0A= + if (r =3D=3D WAIT_TIMEOUT || r =3D=3D WAIT_OBJECT_0 + 1)=0A= + return CO_RC(TIMEOUT);=0A= +=0A= + if (handle->message) {=0A= + *message_out =3D handle->message;=0A= + handle->message =3D 0;=0A= }=0A= - SetEvent( handle->shifted ) ;=0A= + SetEvent(handle->shifted);=0A= =0A= - return CO_RC( OK ) ;=0A= + return CO_RC(OK);=0A= }=0A= =0A= -co_rc_t co_os_daemon_send_message(co_daemon_handle_t handle, = co_message_t *message)=0A= +co_rc_t=0A= +co_os_daemon_send_message(co_daemon_handle_t handle, co_message_t * = message)=0A= {=0A= unsigned long bytes_written;=0A= - unsigned long bytes_to_write =3D sizeof(*message) + message->size;=0A= + unsigned long bytes_to_write =3D sizeof (*message) + message->size;=0A= BOOL ret;=0A= =0A= - ret =3D WriteFile(handle->handle, (char *)message, =0A= - bytes_to_write, &bytes_written, NULL);=0A= + ret =3D WriteFile(handle->handle, (char *) message,=0A= + bytes_to_write, &bytes_written, NULL);=0A= =0A= if (ret !=3D TRUE)=0A= return CO_RC(ERROR);=0A= =0A= - if ( bytes_written !=3D bytes_to_write )=0A= + if (bytes_written !=3D bytes_to_write)=0A= return CO_RC(ERROR);=0A= =0A= return CO_RC(OK);=0A= }=0A= =0A= -static DWORD WINAPI co_os_daemon_thread( LPVOID D )=0A= +static DWORD WINAPI=0A= +co_os_daemon_thread(LPVOID D)=0A= {=0A= - co_daemon_handle_t d =3D D ;=0A= - HANDLE h =3D d->handle ;=0A= - HANDLE w[2] ;=0A= - OVERLAPPED overlapped ;=0A= - DWORD r ;=0A= - co_message_t * data =3D 0 ;=0A= - bool_t queued =3D 0 ;=0A= - unsigned qItems =3D 0 ;=0A= - unsigned qOut =3D 0 ;=0A= - unsigned qIn =3D 0 ;=0A= - co_message_t ** queue =3D 0 ;=0A= - co_message_t ** _q ;=0A= - unsigned _i ;=0A= - unsigned _o ;=0A= - co_rc_t rc ;=0A= - =0A= - r =3D WaitForSingleObject( d->shifted , INFINITE ) ;=0A= - if( r =3D=3D WAIT_FAILED )=0A= - goto co_os_daemon_thread_error ;=0A= -=0A= - queue =3D co_os_malloc( ( qItems =3D = CO_OS_DAEMON_QUEUE_ITEMS_BASIC_MINIMUM ) * sizeof( co_message_t * ) ) ;=0A= -=0A= - overlapped.hEvent =3D CreateEvent( 0 , TRUE , FALSE , 0 ) ;=0A= -=0A= - if( ! ( queue && overlapped.hEvent ) )=0A= - goto co_os_daemon_thread_error ;=0A= -=0A= - w[0] =3D overlapped.hEvent ;=0A= - w[1] =3D d->shifted ;=0A= -=0A= - while( d->loop ) {=0A= - if( ! ( d->message || qIn =3D=3D qOut ) ) {=0A= - d->message =3D queue[ qOut++ ] ; - SetEvent( d->readable ) ; - if( qOut =3D=3D qItems ) - qOut =3D 0 ; - } - if( queued ) {=0A= - r =3D WaitForMultipleObjects( 2 , w , FALSE , INFINITE ) ;=0A= - if( r =3D=3D WAIT_FAILED )=0A= - goto co_os_daemon_thread_error ;=0A= - if( ! d->message )=0A= - ResetEvent( d->readable ) ;=0A= - if( r !=3D WAIT_OBJECT_0 )=0A= - continue ;=0A= - if( ! GetOverlappedResult( h , &overlapped , &r , FALSE ) ) {=0A= - r =3D GetLastError() ;=0A= - if( r =3D=3D ERROR_IO_INCOMPLETE )=0A= - continue ;=0A= - if( r =3D=3D ERROR_IO_PENDING )=0A= - continue ;=0A= - if( r =3D=3D ERROR_BROKEN_PIPE )=0A= - goto co_os_daemon_thread_broken_pipe ;=0A= - goto co_os_daemon_thread_error ;=0A= + co_daemon_handle_t d =3D D;=0A= + HANDLE h =3D d->handle;=0A= + HANDLE w[2];=0A= + OVERLAPPED overlapped;=0A= + DWORD r;=0A= + co_message_t *data =3D 0;=0A= + bool_t queued =3D 0;=0A= + unsigned qItems =3D 0;=0A= + unsigned qOut =3D 0;=0A= + unsigned qIn =3D 0;=0A= + co_message_t **queue =3D 0;=0A= + co_rc_t rc;=0A= +=0A= + co_message_t **_q;=0A= + unsigned _i;=0A= + unsigned _o;=0A= +=0A= +# define Q_REALLOC_1() \=0A= + (_q =3D co_os_realloc( \=0A= + (void *) queue, \=0A= + sizeof (co_message_t *) * (_i =3D (qItems * 2))))=0A= +=0A= +# define Q_REALLOC_2() \=0A= + (_q =3D (co_message_t **) co_os_realloc( \=0A= + (void *) queue, \=0A= + sizeof (co_message_t *) * (_i =3D (qItems * 2))))=0A= +=0A= +# define Q_COPY_2() \=0A= + memcpy( \=0A= + _q + (qOut +=3D qItems), _q + _o, \=0A= + sizeof (co_message_t *) * (qItems - _o))=0A= +=0A= +# define NT_ERROR(_1) { \=0A= + co_debug("co_os_daemon_thread() error [ %x , %s ]\n", \=0A= + GetLastError(), \=0A= + _1); \=0A= + goto co_os_daemon_thread_error_winnt; \=0A= + }=0A= +=0A= + r =3D WaitForSingleObject(d->shifted, INFINITE);=0A= + if (r =3D=3D WAIT_FAILED)=0A= + NT_ERROR("W0001");=0A= +=0A= + queue =3D=0A= + co_os_malloc((qItems =3D=0A= + CO_OS_DAEMON_QUEUE_ITEMS_BASIC_MINIMUM) *=0A= + sizeof (co_message_t *));=0A= + if (!queue)=0A= + goto co_os_daemon_thread_error;=0A= +=0A= + overlapped.hEvent =3D CreateEvent(0, TRUE, FALSE, 0);=0A= +=0A= + if (!overlapped.hEvent)=0A= + NT_ERROR("CE001");=0A= +=0A= + w[0] =3D overlapped.hEvent;=0A= + w[1] =3D d->shifted;=0A= +=0A= + while (d->loop) {=0A= + if (!(d->message || qIn =3D=3D qOut)) {=0A= + d->message =3D queue[qOut++];=0A= + SetEvent(d->readable);=0A= + if (qOut =3D=3D qItems)=0A= + qOut =3D 0;=0A= + }=0A= + if (queued) {=0A= + r =3D WaitForMultipleObjects(2, w, FALSE, INFINITE);=0A= + if (r =3D=3D WAIT_FAILED)=0A= + NT_ERROR("W0002");=0A= + if (!d->message)=0A= + ResetEvent(d->readable);=0A= + if (r !=3D WAIT_OBJECT_0)=0A= + continue;=0A= + if (!GetOverlappedResult(h, &overlapped, &r, FALSE)) {=0A= + r =3D GetLastError();=0A= + if (r =3D=3D ERROR_IO_INCOMPLETE)=0A= + continue;=0A= + if (r =3D=3D ERROR_IO_PENDING)=0A= + continue;=0A= + if (r =3D=3D ERROR_BROKEN_PIPE)=0A= + goto co_os_daemon_thread_broken_pipe;=0A= + NT_ERROR("GOR01");=0A= + }=0A= + queue[qIn++] =3D data;=0A= + queued =3D PFALSE;=0A= + if (qIn =3D=3D qItems)=0A= + if (qOut)=0A= + qIn =3D 0;=0A= + else {=0A= + if (!Q_REALLOC_1())=0A= + goto co_os_daemon_thread_error;=0A= + queue =3D _q, qItems =3D _i;=0A= + } else if (qIn =3D=3D qOut) {=0A= + if (!!Q_REALLOC_2())=0A= + goto co_os_daemon_thread_error;=0A= + _o =3D qOut;=0A= + Q_COPY_2();=0A= + queue =3D _q, qItems =3D _i;=0A= }=0A= - queue[ qIn++ ] =3D data ; - queued =3D PFALSE ; - if( qIn =3D=3D qItems ) - if( qOut ) - qIn =3D 0 ; - else { - if( ! ( _q =3D co_os_realloc( (void*) queue , sizeof(co_message_t = *) * ( _i =3D ( qItems * 2 ) ) ) ) ) - goto co_os_daemon_thread_error ; - queue =3D _q , qItems =3D _i ; - } - else - if( qIn =3D=3D qOut ) { - if( ! ( _q =3D (co_message_t **) co_os_realloc( (void*) queue , = sizeof(co_message_t *) * ( _i =3D ( qItems * 2 ) ) ) ) ) - goto co_os_daemon_thread_error ; - _o =3D qOut ; - memcpy( _q + ( qOut +=3D qItems ) , _q + _o , sizeof(co_message_t = *) * ( qItems - _o ) ) ; - queue =3D _q , qItems =3D _i ; - } }=0A= - if( ! queued ) {=0A= - if( ! PeekNamedPipe( h , 0 , 0 , 0 , 0 , &r ) )=0A= - goto co_os_daemon_thread_error ;=0A= - data =3D co_os_malloc( r ) ;=0A= - if( ! data )=0A= - goto co_os_daemon_thread_error ;=0A= - queued =3D PTRUE ;=0A= - if( ! ReadFile( h , data , r , 0 , &overlapped ) ) {=0A= - r =3D GetLastError() ;=0A= - if( r =3D=3D ERROR_IO_INCOMPLETE )=0A= - continue ;=0A= - if( r =3D=3D ERROR_IO_PENDING )=0A= - continue ;=0A= - if( r =3D=3D ERROR_BROKEN_PIPE )=0A= - goto co_os_daemon_thread_broken_pipe ;=0A= - goto co_os_daemon_thread_error ;=0A= + if (!queued) {=0A= + if (!PeekNamedPipe(h, 0, 0, 0, 0, &r))=0A= + NT_ERROR("PNP01");=0A= + data =3D co_os_malloc(r);=0A= + if (!data)=0A= + goto co_os_daemon_thread_error;=0A= + queued =3D PTRUE;=0A= + if (!ReadFile(h, data, r, 0, &overlapped)) {=0A= + r =3D GetLastError();=0A= + if (r =3D=3D ERROR_IO_INCOMPLETE)=0A= + continue;=0A= + if (r =3D=3D ERROR_IO_PENDING)=0A= + continue;=0A= + if (r =3D=3D ERROR_BROKEN_PIPE)=0A= + goto co_os_daemon_thread_broken_pipe;=0A= + NT_ERROR("RF001");=0A= }=0A= }=0A= }=0A= =0A= - rc =3D CO_RC( OK ) ;=0A= + rc =3D CO_RC(OK);=0A= =0A= - co_os_daemon_thread_return:=0A= - if ( queued ) {=0A= - CancelIo( h ) ;=0A= - co_os_free( data ) ;=0A= - }=0A= - while( d->loop && qIn !=3D qOut ) {=0A= - if( ! d->message ) {=0A= - d->message =3D queue[ qOut++ ] ; - SetEvent( d->readable ) ; - if( qOut =3D=3D qItems ) - qOut =3D 0 ; - } - r =3D WaitForSingleObject( w[1] , INFINITE ) ;=0A= - if( r =3D=3D WAIT_FAILED ) {=0A= - if( ! CO_OK( rc ) )=0A= - break ;=0A= - goto co_os_daemon_thread_error ;=0A= - }=0A= - if( ! d->message )=0A= - ResetEvent( d->readable ) ;=0A= + co_os_daemon_thread_return:=0A= + if (queued) {=0A= + CancelIo(h);=0A= + co_os_free(data);=0A= + }=0A= + while (d->loop && qIn !=3D qOut) {=0A= + if (!d->message) {=0A= + d->message =3D queue[qOut++];=0A= + SetEvent(d->readable);=0A= + if (qOut =3D=3D qItems)=0A= + qOut =3D 0;=0A= + }=0A= + r =3D WaitForSingleObject(w[1], INFINITE);=0A= + if (r =3D=3D WAIT_FAILED) {=0A= + if (!CO_OK(rc))=0A= + break;=0A= + NT_ERROR("W0003");=0A= }=0A= - while( qIn !=3D qOut ) {=0A= - co_os_free( queue[ qOut++ ] ) ; - if( qOut =3D=3D qItems ) - qOut =3D 0 ; - } - if( queue )=0A= - co_os_free( queue ) ;=0A= - if( overlapped.hEvent )=0A= - CloseHandle( overlapped.hEvent ) ;=0A= - d->rc =3D rc ;=0A= - if( d->loop )=20 - SetEvent( d->readable ) ;=0A= - return 0 ;=0A= -=0A= - co_os_daemon_thread_error:=0A= - co_debug( "co_os_daemon_thread() error\n" ) ;=0A= - rc =3D CO_RC( ERROR ) ;=0A= - goto co_os_daemon_thread_return ;=0A= -=0A= - co_os_daemon_thread_broken_pipe:=0A= - rc =3D CO_RC( BROKEN_PIPE ) ;=0A= - goto co_os_daemon_thread_return ;=0A= + if (!d->message)=0A= + ResetEvent(d->readable);=0A= + }=0A= + while (qIn !=3D qOut) {=0A= + co_os_free(queue[qOut++]);=0A= + if (qOut =3D=3D qItems)=0A= + qOut =3D 0;=0A= + }=0A= + if (queue)=0A= + co_os_free(queue);=0A= + if (overlapped.hEvent)=0A= + CloseHandle(overlapped.hEvent);=0A= + d->rc =3D rc;=0A= + if (d->loop)=0A= + SetEvent(d->readable);=0A= + return 0;=0A= +=0A= + co_os_daemon_thread_error_winnt:=0A= + rc =3D CO_RC(ERROR);=0A= + goto co_os_daemon_thread_return;=0A= +=0A= + co_os_daemon_thread_error:=0A= + co_debug("co_os_daemon_thread() error\n");=0A= + rc =3D CO_RC(ERROR);=0A= + goto co_os_daemon_thread_return;=0A= +=0A= + co_os_daemon_thread_broken_pipe:=0A= + rc =3D CO_RC(BROKEN_PIPE);=0A= + goto co_os_daemon_thread_return;=0A= +=0A= +# undef Q_REALLOC_1=0A= +# undef Q_REALLOC_2=0A= +# undef Q_COPY_2=0A= }=0A= =0A= -void co_os_daemon_close( co_daemon_handle_t D )=0A= +void=0A= +co_os_daemon_close(co_daemon_handle_t D)=0A= {=0A= - D->loop =3D 0 ;=0A= - SetEvent( D->shifted ) ;=0A= - WaitForSingleObject( D->thread , INFINITE ) ;=0A= - CloseHandle( D->readable ) ;=0A= - CloseHandle( D->shifted ) ;=0A= - CloseHandle( D->handle );=0A= - CloseHandle( D->thread );=0A= - co_os_free( D ) ;=0A= + D->loop =3D 0;=0A= + SetEvent(D->shifted);=0A= + WaitForSingleObject(D->thread, INFINITE);=0A= + CloseHandle(D->readable);=0A= + CloseHandle(D->shifted);=0A= + CloseHandle(D->handle);=0A= + CloseHandle(D->thread);=0A= + co_os_free(D);=0A= }=0A= Index: COLINUX_0/src/colinux/os/winnt/user/daemon.h=0A= diff -u COLINUX_0/src/colinux/os/winnt/user/daemon.h:1.3 = COLINUX_0/src/colinux/os/winnt/user/daemon.h:1.4=0A= --- COLINUX_0/src/colinux/os/winnt/user/daemon.h:1.3 Sun Feb 22 11:04:02 = 2004=0A= +++ COLINUX_0/src/colinux/os/winnt/user/daemon.h Mon Feb 23 15:28:53 2004=0A= @@ -5,12 +5,12 @@=0A= *=0A= * The code is licensed under the GPL. See the COPYING file at=0A= * the root directory.=0A= - */ =0A= + */=0A= =0A= /*=0A= * Ballard, Jonathan H. <cal...@us...>=0A= * 2004 02 22 : Redesigned co_daemon_handle for use with = co_os_daemon_thread()=0A= - */ =0A= + */=0A= =0A= #ifndef __COLINUX_USER_WINNT_DAEMON_H__=0A= #define __COLINUX_USER_WINNT_DAEMON_H__=0A= @@ -20,13 +20,13 @@=0A= #include <colinux/os/user/daemon.h>=0A= =0A= struct co_daemon_handle {=0A= - HANDLE handle ;=0A= - HANDLE thread ;=0A= - HANDLE readable ;=0A= - HANDLE shifted ;=0A= - co_message_t * message ;=0A= - co_rc_t rc ;=0A= - bool_t loop ;=0A= + HANDLE handle;=0A= + HANDLE thread;=0A= + HANDLE readable;=0A= + HANDLE shifted;=0A= + co_message_t *message;=0A= + co_rc_t rc;=0A= + bool_t loop;=0A= };=0A= =0A= #define CO_OS_DAEMON_QUEUE_ITEMS_BASIC_MINIMUM 0x100=0A= |
From: Dan A. <da...@gm...> - 2004-02-23 20:20:48
|
On Mon, Feb 23, 2004 at 09:54:50PM +0200, Nir Perry wrote: > Hello, > > After having some troubles with fsck, I suspect there's a problem/bug in > colinux kernel regarding floating point context across processes. The reason is, when the daemon messes with its floating point registers it affects the currently running Linux process and visa verse. But it got fixed in the upcoming release, preserving the floating point registers across context switches. My current ChangeLog from 0.5.3: * Fixed an issue with i686-optimized pthread and the preservation of %gs and %fs. The crashes that were caused by the i686 Gentoo image should now disappear. WINE would also work now ;) * cobd: Fixed accessing large block devices (1GB>). cobd0 was passing wrong information to userspace. * conet: Statistics are now gathered (patch by Pat Erley) * Tuned the time conversion between Windows and Linux. The machine is now initialized with the right date, not 4 days backwards. * A configuration parsing fix (patch by Ballard Jonathan) * Some improvements of the switch code. We now preserve more registers, (MMX/SSE/SSE2/FP), and coLinux now has its own GDT. These changes should assure stability on more systems and processors. - Dan Aloni da...@gm... |
From: Nir P. <ni...@em...> - 2004-02-23 20:12:36
|
Hi again, Sorry - turns out I missed something very important - Dan already fixed that... it should be in the next release. :) Oh well, at least I got to run ddd once again... Nir -----Original Message----- From: Nir Perry Sent: Monday, February 23, 2004 21:55 To: coLinux-devel Subject: [coLinux-devel] Possible floating point context bug in the colinux kernel Hello, After having some troubles with fsck, I suspect there's a problem/bug in colinux kernel regarding floating point context across processes. Here's a very short description of the original problem: sometimes (quite a lot), fsck crashes with segmentation fault or floating point exception (sometimes just saying signal 11 or signal 8). After recompiling e2fsck from sources with debugging information, and adding a lot of traces, here's what I've discovered: In e2fsprogs package, in lib/ext2fs/icount.c, function get_icount_el(), the following calculation exists inside a while loop: range = ((float) (ino - lowval)) / (highval - lowval); followed later by: mid = low + ((int) (f * (high-low))); Now for the bug: after a lot of cycles (of the loop), "range" becomes NaN (not a number, error, not a floating point value, whatever...), causing "mid" to go wild (negative), and later causing an exception, becuase it is indexing an array. Note: I even saw that there are times "range" is bad and times it is good, when the parameters in the calculation are the SAME (which should give the same result...). POSSIBLE WORKAROUNDS: Well, anything to get around that floating point should work. The funny thing is that there is a "#if 0 ... #else ..." there. The code left out (in the "#if 0") is a simple "mid=(low+high)/2". The active code ("#else...") is with the floating point. A comment there says "Interpolate for efficiency". I tried the simple one (changing to "#if 1"), and it looks like it is working ok. THIS IS A WORKAROUND, and not a fix. The problem is not in e2fsck... but if you can't mount your image, a workaround is better than nothing. Note that with some of my traces, fsck worked fine too. Seems like if you surround the part of the "range" calculation with some extra code, the problem likeliness drops. But the above workaround is better (I think). The workaround enabled me to get my filesystem back, but it is not a solution. I'm affraid that once again this means diving into kernel debugging. To this point I never connected a debugger to the colinux kernel, so any tips could help. Oh, and by the way, here's some things I tried before realizing it is the floating point calculation... (in case you wondered): - more memory: usually I run with 32MB. Trying 64MB didn't seem to help at all. - defrag windows disk: I though maybe the cobd driver fails if the image file is very fragmentad on the windows disk (it was...). Obviously, it wasn't the case - the cobd driver works great. - using dan's patch (posted here about a week ago as a reply on "Invalid argument zeroing block") - I'm already using it. - trying the original 0.5.3 release with the 1gb debian image - still fails if I try to "fsck" itself (after "killall5; umount -ar", of course). Nir |
From: Nir P. <ni...@em...> - 2004-02-23 20:01:25
|
Hello, After having some troubles with fsck, I suspect there's a problem/bug in colinux kernel regarding floating point context across processes. Here's a very short description of the original problem: sometimes (quite a lot), fsck crashes with segmentation fault or floating point exception (sometimes just saying signal 11 or signal 8). After recompiling e2fsck from sources with debugging information, and adding a lot of traces, here's what I've discovered: In e2fsprogs package, in lib/ext2fs/icount.c, function get_icount_el(), the following calculation exists inside a while loop: range = ((float) (ino - lowval)) / (highval - lowval); followed later by: mid = low + ((int) (f * (high-low))); Now for the bug: after a lot of cycles (of the loop), "range" becomes NaN (not a number, error, not a floating point value, whatever...), causing "mid" to go wild (negative), and later causing an exception, becuase it is indexing an array. Note: I even saw that there are times "range" is bad and times it is good, when the parameters in the calculation are the SAME (which should give the same result...). POSSIBLE WORKAROUNDS: Well, anything to get around that floating point should work. The funny thing is that there is a "#if 0 ... #else ..." there. The code left out (in the "#if 0") is a simple "mid=(low+high)/2". The active code ("#else...") is with the floating point. A comment there says "Interpolate for efficiency". I tried the simple one (changing to "#if 1"), and it looks like it is working ok. THIS IS A WORKAROUND, and not a fix. The problem is not in e2fsck... but if you can't mount your image, a workaround is better than nothing. Note that with some of my traces, fsck worked fine too. Seems like if you surround the part of the "range" calculation with some extra code, the problem likeliness drops. But the above workaround is better (I think). The workaround enabled me to get my filesystem back, but it is not a solution. I'm affraid that once again this means diving into kernel debugging. To this point I never connected a debugger to the colinux kernel, so any tips could help. Oh, and by the way, here's some things I tried before realizing it is the floating point calculation... (in case you wondered): - more memory: usually I run with 32MB. Trying 64MB didn't seem to help at all. - defrag windows disk: I though maybe the cobd driver fails if the image file is very fragmentad on the windows disk (it was...). Obviously, it wasn't the case - the cobd driver works great. - using dan's patch (posted here about a week ago as a reply on "Invalid argument zeroing block") - I'm already using it. - trying the original 0.5.3 release with the 1gb debian image - still fails if I try to "fsck" itself (after "killall5; umount -ar", of course). Nir |
From: peter g. <plu...@p1...> - 2004-02-23 19:17:02
|
what version of gcc and what distro are used to build the binary releases? --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.592 / Virus Database: 375 - Release Date: 18/02/2004 |
From: peter g. <plu...@p1...> - 2004-02-23 17:38:35
|
shouldn't that be iface lo inet loopback -----Original Message----- From: col...@li... [mailto:col...@li...]On Behalf Of Matthew Hawn Sent: 23 February 2004 16:42 To: col...@li... Subject: [coLinux-devel] loopback device on debian the debian image doesn't load the loopback device on boot. This causes a lot of problems i've seen on the list including ssh X11 forwarding. /etc/network/interfaces needs the line: lo inet loopback this fixes everything Matt __________________________________ Do you Yahoo!? Yahoo! Mail SpamGuard - Read only the mail you want. http://antispam.yahoo.com/tools ------------------------------------------------------- SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps & Web services for Linux with a free DVD software kit from IBM. Click Now! http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click _______________________________________________ coLinux-devel mailing list coL...@li... https://lists.sourceforge.net/lists/listinfo/colinux-devel --- Incoming mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.592 / Virus Database: 375 - Release Date: 18/02/2004 --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.592 / Virus Database: 375 - Release Date: 18/02/2004 |
From: Matthew H. <haw...@ya...> - 2004-02-23 16:50:22
|
the debian image doesn't load the loopback device on boot. This causes a lot of problems i've seen on the list including ssh X11 forwarding. /etc/network/interfaces needs the line: lo inet loopback this fixes everything Matt __________________________________ Do you Yahoo!? Yahoo! Mail SpamGuard - Read only the mail you want. http://antispam.yahoo.com/tools |
From: Matthew H. <haw...@ya...> - 2004-02-23 16:48:39
|
I added swap space according to "Adding space and swap w/o creating new images...". basically: dd if=/dev/zero of=swap.image then mkswap and move it to windows and add an entry to defaults.xml then add /dev/cobd1 none swap defaults 0 0 to fstab however according to top the system never seems to use it. any clues? Matt __________________________________ Do you Yahoo!? Yahoo! Mail SpamGuard - Read only the mail you want. http://antispam.yahoo.com/tools |
From: Dan A. <da...@gm...> - 2004-02-22 23:56:37
|
On Wed, Feb 18, 2004 at 12:22:44AM +0200, Dan Aloni wrote: > I've temporarily hidden away the Gentoo image that Pat released last > week from the sourceforge page due to instabilities of that image > running under the latest coLinux version. The image itself is not to > blame. Currently, both Linux kernel and userspace code compiled with > -march=i686 that runs under coLinux may cause the host machine to > spontaneously reboot. I am pleased to tell that I finally got this fixed a few minutes ago. It wasn't actually i686 releated, but it was caused indirectly by the i686-optimized pthreads library, that uses modify_ldt() in order to implement TLS (thread local storage) using the %gs register. The fix was quite easy: wrap the switch code with safe preservation of %gs and %fs, so if either one of them is invalid, we won't get a GPF in the switch code itself, and instead just sllently nullify the register. Another instability issue behind us. -- Dan Aloni da...@gm... |
From: Dan A. <da...@gm...> - 2004-02-22 22:02:08
|
On Sun, Feb 22, 2004 at 02:40:31PM +0200, Nir Perry wrote: > Hello, > > I too saw nanosleep() hangs - trying to run "top" (according to "strace" and > "gdb", the kernel function call never returns). > > /bin/sleep hangs too. > /usr/bin/date keeps reporting the SAME frozen time... > > Guess the time just froze... > > It doesn't always freeze. Usually, everything work just fine. However, > sometimes, some event causes the time to stop running (I think), and from > that moment on - nothing time related works. Note that the scheduler keeps > scheduling, and the kernel works fine - all but the time. The cause for the nanosleep problems you have been experiencing has something to do with the Windows user space timer granularity. I use the daemon's idle loop in order to send a timer beat every 1/HZ seconds. It is possible that two timer beats are sent together. I am not sure that this by itself is the only cause of the problem, other part of this story is that Linux's kernel space gettimeofday() is not yet implemented, so Linux can't differentiate between time resolutions that are less than HZ. I'll try to reproduce and fix it here after I'm done with implementing the %gs/%fs workaround fix that I talked about in IRC (which should solve the reboots problem that is caused by the Gentoo i686 image, more specifically, the problem where libpthreads uses modify_ldt() and triggers the LDT-%gs inconsistency, causing coLinux's context switch code to go GPF). -- Dan Aloni da...@gm... |
From: Nir P. <ni...@em...> - 2004-02-22 17:21:12
|
Hi, Best test - try running "/usr/bin/date" and "/bin/sleep" and see if the behavior is the same. Not much can cause "date" to keep showing the same result over and over again... Nir -----Original Message----- From: Evan Danaher [mailto:eda...@tj...] Sent: Sunday, February 22, 2004 18:08 To: coLinux-devel Subject: Re: [coLinux-devel] Time freezes That's interesting - this seems to tie in with another bug I noticed. I normally ssh into colinux with PuTTY to get a nice terminal. However, after a period of time, it gets slow. When I type a character, it doesn't show up until the next one (i.e., I press a, and nothing happens. I press b, and the a shows up. I press enter, and the b shows up. I press c, and it shows the return and "command ab not found" and a newline and prompt). This seems to happen after a while (half hour or hour), but when I use X apps, it happens almost immediately. After seeing this, I noticed that this does seem to happen about the same time date and top stop working right. Perhaps they are somehow related? (I'm using the Valentine's day build on Windows XP home) On Sun, 22 Feb 2004, Nir Perry wrote: > Hello, > > I too saw nanosleep() hangs - trying to run "top" (according to "strace" and > "gdb", the kernel function call never returns). > > /bin/sleep hangs too. > /usr/bin/date keeps reporting the SAME frozen time... > > Guess the time just froze... > > It doesn't always freeze. Usually, everything work just fine. However, > sometimes, some event causes the time to stop running (I think), and from > that moment on - nothing time related works. Note that the scheduler keeps > scheduling, and the kernel works fine - all but the time. > > I guess next stop is to debug the kernel... > > Nir > > > -----Original Message----- > From: Jason A. Pattie [mailto:pat...@pc...] > Sent: Saturday, February 21, 2004 06:25 > To: John Milton > Cc: coLinux-devel > Subject: Re: [coLinux-devel] Applications hanging in nanosleep > > > John Milton wrote: > > >I did an strace of dselect and dselect just stopped in a > >one second call to nanosleep, which was easy to break out of. > > > > > > I noticed this happened when attempting to upgrade libc6. It did made a > call to 'init u' and then a 'sleep 1', and just hung there. So I ended > up mangling the script to comment that line out, finish the "upgrade", > and then rebooted with the newer version of libc6 and init. > > >The same sort of thing happened in "/usr/bin/tset -s -m 'network:?xterm'" > > > >Perhaps there's some sort of race condition when sleeping for short > intervals. Maybe there should be some logic in there to just > >return if the requested interval happens to have already passed. > > > >I am running coLinux on W2K pro, on a PIII/600 laptop. > > > > > Hmm. Me too. :) > > > -- > This message has been scanned for viruses and > dangerous content by MailScanner, and is > believed to be clean. > MailScanner thanks transtec Computers for their support. > > > > ------------------------------------------------------- > SF.Net is sponsored by: Speed Start Your Linux Apps Now. > Build and deploy apps & Web services for Linux with > a free DVD software kit from IBM. Click Now! > http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click > _______________________________________________ > coLinux-devel mailing list > coL...@li... > https://lists.sourceforge.net/lists/listinfo/colinux-devel > ------------------------------------------------------- SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps & Web services for Linux with a free DVD software kit from IBM. Click Now! http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click _______________________________________________ coLinux-devel mailing list coL...@li... https://lists.sourceforge.net/lists/listinfo/colinux-devel |
From: Evan D. <eda...@tj...> - 2004-02-22 16:15:59
|
That's interesting - this seems to tie in with another bug I noticed. I normally ssh into colinux with PuTTY to get a nice terminal. However, after a period of time, it gets slow. When I type a character, it doesn't show up until the next one (i.e., I press a, and nothing happens. I press b, and the a shows up. I press enter, and the b shows up. I press c, and it shows the return and "command ab not found" and a newline and prompt). This seems to happen after a while (half hour or hour), but when I use X apps, it happens almost immediately. After seeing this, I noticed that this does seem to happen about the same time date and top stop working right. Perhaps they are somehow related? (I'm using the Valentine's day build on Windows XP home) On Sun, 22 Feb 2004, Nir Perry wrote: > Hello, > > I too saw nanosleep() hangs - trying to run "top" (according to "strace" and > "gdb", the kernel function call never returns). > > /bin/sleep hangs too. > /usr/bin/date keeps reporting the SAME frozen time... > > Guess the time just froze... > > It doesn't always freeze. Usually, everything work just fine. However, > sometimes, some event causes the time to stop running (I think), and from > that moment on - nothing time related works. Note that the scheduler keeps > scheduling, and the kernel works fine - all but the time. > > I guess next stop is to debug the kernel... > > Nir > > > -----Original Message----- > From: Jason A. Pattie [mailto:pat...@pc...] > Sent: Saturday, February 21, 2004 06:25 > To: John Milton > Cc: coLinux-devel > Subject: Re: [coLinux-devel] Applications hanging in nanosleep > > > John Milton wrote: > > >I did an strace of dselect and dselect just stopped in a > >one second call to nanosleep, which was easy to break out of. > > > > > > I noticed this happened when attempting to upgrade libc6. It did made a > call to 'init u' and then a 'sleep 1', and just hung there. So I ended > up mangling the script to comment that line out, finish the "upgrade", > and then rebooted with the newer version of libc6 and init. > > >The same sort of thing happened in "/usr/bin/tset -s -m 'network:?xterm'" > > > >Perhaps there's some sort of race condition when sleeping for short > intervals. Maybe there should be some logic in there to just > >return if the requested interval happens to have already passed. > > > >I am running coLinux on W2K pro, on a PIII/600 laptop. > > > > > Hmm. Me too. :) > > > -- > This message has been scanned for viruses and > dangerous content by MailScanner, and is > believed to be clean. > MailScanner thanks transtec Computers for their support. > > > > ------------------------------------------------------- > SF.Net is sponsored by: Speed Start Your Linux Apps Now. > Build and deploy apps & Web services for Linux with > a free DVD software kit from IBM. Click Now! > http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click > _______________________________________________ > coLinux-devel mailing list > coL...@li... > https://lists.sourceforge.net/lists/listinfo/colinux-devel > |
From: Nir P. <ni...@em...> - 2004-02-22 12:46:08
|
Hello, I too saw nanosleep() hangs - trying to run "top" (according to "strace" and "gdb", the kernel function call never returns). /bin/sleep hangs too. /usr/bin/date keeps reporting the SAME frozen time... Guess the time just froze... It doesn't always freeze. Usually, everything work just fine. However, sometimes, some event causes the time to stop running (I think), and from that moment on - nothing time related works. Note that the scheduler keeps scheduling, and the kernel works fine - all but the time. I guess next stop is to debug the kernel... Nir -----Original Message----- From: Jason A. Pattie [mailto:pat...@pc...] Sent: Saturday, February 21, 2004 06:25 To: John Milton Cc: coLinux-devel Subject: Re: [coLinux-devel] Applications hanging in nanosleep John Milton wrote: >I did an strace of dselect and dselect just stopped in a >one second call to nanosleep, which was easy to break out of. > > I noticed this happened when attempting to upgrade libc6. It did made a call to 'init u' and then a 'sleep 1', and just hung there. So I ended up mangling the script to comment that line out, finish the "upgrade", and then rebooted with the newer version of libc6 and init. >The same sort of thing happened in "/usr/bin/tset -s -m 'network:?xterm'" > >Perhaps there's some sort of race condition when sleeping for short intervals. Maybe there should be some logic in there to just >return if the requested interval happens to have already passed. > >I am running coLinux on W2K pro, on a PIII/600 laptop. > > Hmm. Me too. :) -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. MailScanner thanks transtec Computers for their support. ------------------------------------------------------- SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps & Web services for Linux with a free DVD software kit from IBM. Click Now! http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click _______________________________________________ coLinux-devel mailing list coL...@li... https://lists.sourceforge.net/lists/listinfo/colinux-devel |
From: Jason A. P. <pat...@pc...> - 2004-02-21 19:25:53
|
John LeSueur wrote: > I assume you're using the latest version of colinux? The older > versions had a bug that caused corruption of packets over large > transfers. Hmm. Possibly not. I'm using the 0.5.3 download from SourceForge released 02-14. -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. MailScanner thanks transtec Computers for their support. |
From: Sean B. <sea...@so...> - 2004-02-21 18:17:27
|
Are you using the patch that Dan Aloni posted a week ago? Re: [coLinux-devel] Invalid argument zeroing block? ----- Original Message ----- From: <gr...@vo...> To: <col...@li...> Sent: Saturday, February 21, 2004 5:23 PM Subject: [coLinux-devel] Re: Errors reading mounted ext2 filesystem on dual boot machine | | John Milton wrote : | >I was able to specify a swap file (which is working fine) and | the native ext2 partition that I dual boot to. This is my | >default.colinux.xml: | > | ><?xml version="1.0" encoding="UTF-8"?> | ><colinux> | > <block_device index="0" | path="\DosDevices\c:\coLinux\Debian-3.0r0.ext3.1gb" | enabled="true"> > </block_device> | > <block_device index="1" path="\DosDevices\c:\coLinux\swap" | enabled="true"> > </block_device> | > <block_device index="2" path="\Device\HardDiskVolume2" | enabled="true"> > </block_device> | > <bootparams>root=/dev/cobd0</bootparams> | > <image path="vmlinux"></image> | ></colinux> | > | >I mounted the parition read-only: | > | ># mount -r /dev/cobd2 /mnt | > | >When I ls /mnt, I see all the files there. When I ls -l /mnt, I | get: >/bin/ls: /mnt/root: Input/output error | >for each directory. On the console, I'm seeing: | > | >attempt to access beyond end of device | >75:02: rw=0, want=393328, limit=133890 | >EXT2-fs error (device cobd(117,2)): ext2_read_inode: unable to | read inode block - inode=49801, block=98331 > | >Is there some LBA vs LBA32 vs LARGE sort of geometry thing going | on here? > | >John | >-- | | I have very analogous experiencies. | It seems that cobdx = "\Device\HardDiskVolume." take their size | from maybe previously defined cobdx = file. When I had cca 110Meg | swap (file) and cca 300Meg /dev/hda8 (= \Device\HardDiskVolume7 | ;-( ) I've similar errors, without swap (means 1Gig partition = | file) seemd(!) cobdx (=/dev/hda8) mounted work fine. | | Rgds, Zdenek | | | | -- | Chces kilo? Tak pripoj kamose pres VOLNY. | Vice na http://studentpartner.volny.cz/ | | | | ------------------------------------------------------- | SF.Net is sponsored by: Speed Start Your Linux Apps Now. | Build and deploy apps & Web services for Linux with | a free DVD software kit from IBM. Click Now! | http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click | _______________________________________________ | coLinux-devel mailing list | coL...@li... | https://lists.sourceforge.net/lists/listinfo/colinux-devel |