[jira] Commented: (STDCXX-333) std::wfilebuf extracts more than 1 character from a 1 byte file
[ https://issues.apache.org/jira/browse/STDCXX-333?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12474266 ] Mark Brown commented on STDCXX-333: --- I tried to see if I could reproduce this problem on Cygwin. My version of Cygwin doesn't have any locales so I tried to generate the en_US.UTF-8 locale using the stdcxx localedef program. I got this error: nls$ ../bin/localedef -c -f /home/mbrown/stdcxx/etc/nls/charmaps/UTF-8 -i /home/mbrown/stdcxx/etc/nls/src/en_US en_US.UTF-8 call to system LC_ALL=C /usr/bin/locale -a /tmp/tdf4.0 2/dev/null: No such file or directory Hangup std::wfilebuf extracts more than 1 character from a 1 byte file --- Key: STDCXX-333 URL: https://issues.apache.org/jira/browse/STDCXX-333 Project: C++ Standard Library Issue Type: Bug Components: 27. Input/Output Affects Versions: 4.1.3 Environment: gcc 3.2.3 on Linux Reporter: Mark Brown I get an an abort when I run the following program on Linux. #include cassert #include fstream #include iostream int main () { { std::filebuf fb; fb.open (file, std::ios::out); fb.sputc ('a'); } std::wfilebuf fb; fb.pubimbue (std::locale (en_US.UTF-8)); fb.open (file, std::ios::in); const int c[] = { fb.sbumpc (), fb.sgetc () }; std::cout c [0] ' ' c [1] std::endl; assert (L'a' == c [0]); assert (std::wfilebuf::traits_type::eof () == c [1]); } test: test.cpp:21: int main(): Assertion `std::wfilebuf::traits_type::eof () == c [1]' failed. Aborted -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
Re: [jira] Commented: (STDCXX-333) std::wfilebuf extracts more than 1 character from a 1 byte file
Mark Brown (JIRA) wrote: [ https://issues.apache.org/jira/browse/STDCXX-333?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12474266 ] Mark Brown commented on STDCXX-333: --- I tried to see if I could reproduce this problem on Cygwin. My version of Cygwin doesn't have any locales so I tried to generate the en_US.UTF-8 locale using the stdcxx localedef program. I got this error: nls$ ../bin/localedef -c -f /home/mbrown/stdcxx/etc/nls/charmaps/UTF-8 -i /home/mbrown/stdcxx/etc/nls/src/en_US en_US.UTF-8 call to system LC_ALL=C /usr/bin/locale -a /tmp/tdf4.0 2/dev/null: No such file or directory Hangup This looks like an unrelated problem. Could you open a new issue for it? Thanks Martin std::wfilebuf extracts more than 1 character from a 1 byte file --- Key: STDCXX-333 URL: https://issues.apache.org/jira/browse/STDCXX-333 Project: C++ Standard Library Issue Type: Bug Components: 27. Input/Output Affects Versions: 4.1.3 Environment: gcc 3.2.3 on Linux Reporter: Mark Brown I get an an abort when I run the following program on Linux. #include cassert #include fstream #include iostream int main () { { std::filebuf fb; fb.open (file, std::ios::out); fb.sputc ('a'); } std::wfilebuf fb; fb.pubimbue (std::locale (en_US.UTF-8)); fb.open (file, std::ios::in); const int c[] = { fb.sbumpc (), fb.sgetc () }; std::cout c [0] ' ' c [1] std::endl; assert (L'a' == c [0]); assert (std::wfilebuf::traits_type::eof () == c [1]); } test: test.cpp:21: int main(): Assertion `std::wfilebuf::traits_type::eof () == c [1]' failed. Aborted
Re: [jira] Commented: (STDCXX-333) std::wfilebuf extracts more than 1 character from a 1 byte file
-Original Message- From: [EMAIL PROTECTED] Sent: Mon, 19 Feb 2007 13:35:19 -0700 To: stdcxx-dev@incubator.apache.org Subject: Re: [jira] Commented: (STDCXX-333) std::wfilebuf extracts more than 1 character from a 1 byte file Mark Brown (JIRA) wrote: [ https://issues.apache.org/jira/browse/STDCXX-333?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12474266 ] Mark Brown commented on STDCXX-333: --- I tried to see if I could reproduce this problem on Cygwin. My version of Cygwin doesn't have any locales so I tried to generate the en_US.UTF-8 locale using the stdcxx localedef program. I got this error: nls$ ../bin/localedef -c -f /home/mbrown/stdcxx/etc/nls/charmaps/UTF-8 -i /home/mbrown/stdcxx/etc/nls/src/en_US en_US.UTF-8 call to system LC_ALL=C /usr/bin/locale -a /tmp/tdf4.0 2/dev/null: No such file or directory Hangup This looks like an unrelated problem. Could you open a new issue for it? Sure. Here it is: https://issues.apache.org/jira/browse/STDCXX-340. Mark Thanks Martin std::wfilebuf extracts more than 1 character from a 1 byte file --- Key: STDCXX-333 URL: https://issues.apache.org/jira/browse/STDCXX-333 Project: C++ Standard Library Issue Type: Bug Components: 27. Input/Output Affects Versions: 4.1.3 Environment: gcc 3.2.3 on Linux Reporter: Mark Brown I get an an abort when I run the following program on Linux. #include cassert #include fstream #include iostream int main () { { std::filebuf fb; fb.open (file, std::ios::out); fb.sputc ('a'); } std::wfilebuf fb; fb.pubimbue (std::locale (en_US.UTF-8)); fb.open (file, std::ios::in); const int c[] = { fb.sbumpc (), fb.sgetc () }; std::cout c [0] ' ' c [1] std::endl; assert (L'a' == c [0]); assert (std::wfilebuf::traits_type::eof () == c [1]); } test: test.cpp:21: int main(): Assertion `std::wfilebuf::traits_type::eof () == c [1]' failed. Aborted
Re: [jira] Commented: (STDCXX-333) std::wfilebuf extracts more than 1 character from a 1 byte file
I decided to look into this as an exercise in stdcxx debugging and managed to figure out how to get around the error and generate the en_US.UTF-8 locale. The change I made to make it work is in the attached patch file. Let me know if this is the correct format for patches or if you prefer something else. Incidentally, the original test program for stdcxx-333 runs fine on Cygwin with the en_US.UTF-8 locale so the error must be unique to Linux. -- Mark -Original Message- From: [EMAIL PROTECTED] Sent: Mon, 19 Feb 2007 12:51:24 -0800 To: stdcxx-dev@incubator.apache.org, stdcxx-dev@incubator.apache.org Subject: Re: [jira] Commented: (STDCXX-333) std::wfilebuf extracts more than 1 character from a 1 byte file -Original Message- From: [EMAIL PROTECTED] Sent: Mon, 19 Feb 2007 13:35:19 -0700 To: stdcxx-dev@incubator.apache.org Subject: Re: [jira] Commented: (STDCXX-333) std::wfilebuf extracts more than 1 character from a 1 byte file Mark Brown (JIRA) wrote: [ https://issues.apache.org/jira/browse/STDCXX-333?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12474266 ] Mark Brown commented on STDCXX-333: --- I tried to see if I could reproduce this problem on Cygwin. My version of Cygwin doesn't have any locales so I tried to generate the en_US.UTF-8 locale using the stdcxx localedef program. I got this error: nls$ ../bin/localedef -c -f /home/mbrown/stdcxx/etc/nls/charmaps/UTF-8 -i /home/mbrown/stdcxx/etc/nls/src/en_US en_US.UTF-8 call to system LC_ALL=C /usr/bin/locale -a /tmp/tdf4.0 2/dev/null: No such file or directory Hangup This looks like an unrelated problem. Could you open a new issue for it? Sure. Here it is: https://issues.apache.org/jira/browse/STDCXX-340. Mark Thanks Martin std::wfilebuf extracts more than 1 character from a 1 byte file --- Key: STDCXX-333 URL: https://issues.apache.org/jira/browse/STDCXX-333 Project: C++ Standard Library Issue Type: Bug Components: 27. Input/Output Affects Versions: 4.1.3 Environment: gcc 3.2.3 on Linux Reporter: Mark Brown I get an an abort when I run the following program on Linux. #include cassert #include fstream #include iostream int main () { { std::filebuf fb; fb.open (file, std::ios::out); fb.sputc ('a'); } std::wfilebuf fb; fb.pubimbue (std::locale (en_US.UTF-8)); fb.open (file, std::ios::in); const int c[] = { fb.sbumpc (), fb.sgetc () }; std::cout c [0] ' ' c [1] std::endl; assert (L'a' == c [0]); assert (std::wfilebuf::traits_type::eof () == c [1]); } test: test.cpp:21: int main(): Assertion `std::wfilebuf::traits_type::eof () == c [1]' failed. Aborted
Re: [jira] Commented: (STDCXX-333) std::wfilebuf extracts more than 1 character from a 1 byte file
Mark Brown wrote: I decided to look into this as an exercise in stdcxx debugging and managed to figure out how to get around the error and generate the en_US.UTF-8 locale. Great! Thanks for the detective work! The change I made to make it work is in the attached patch file. Let me know if this is the correct format for patches or if you prefer something else. I don't see the patch. Did you forget to attach it? (Sometimes the attachments end up getting stripped by ezmlm even though they shouldn't). If it's small, you might want to paste it directly into your mail. Otherwise you might need to post it somewhere (e.g., on your web page or in the issue itself). Incidentally, the original test program for stdcxx-333 runs fine on Cygwin with the en_US.UTF-8 locale so the error must be unique to Linux. Hmm. Very odd. Martin -- Mark -Original Message- From: [EMAIL PROTECTED] Sent: Mon, 19 Feb 2007 12:51:24 -0800 To: stdcxx-dev@incubator.apache.org, stdcxx-dev@incubator.apache.org Subject: Re: [jira] Commented: (STDCXX-333) std::wfilebuf extracts more than 1 character from a 1 byte file -Original Message- From: [EMAIL PROTECTED] Sent: Mon, 19 Feb 2007 13:35:19 -0700 To: stdcxx-dev@incubator.apache.org Subject: Re: [jira] Commented: (STDCXX-333) std::wfilebuf extracts more than 1 character from a 1 byte file Mark Brown (JIRA) wrote: [ https://issues.apache.org/jira/browse/STDCXX-333?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12474266 ] Mark Brown commented on STDCXX-333: --- I tried to see if I could reproduce this problem on Cygwin. My version of Cygwin doesn't have any locales so I tried to generate the en_US.UTF-8 locale using the stdcxx localedef program. I got this error: nls$ ../bin/localedef -c -f /home/mbrown/stdcxx/etc/nls/charmaps/UTF-8 -i /home/mbrown/stdcxx/etc/nls/src/en_US en_US.UTF-8 call to system LC_ALL=C /usr/bin/locale -a /tmp/tdf4.0 2/dev/null: No such file or directory Hangup This looks like an unrelated problem. Could you open a new issue for it? Sure. Here it is: https://issues.apache.org/jira/browse/STDCXX-340. Mark Thanks Martin std::wfilebuf extracts more than 1 character from a 1 byte file --- Key: STDCXX-333 URL: https://issues.apache.org/jira/browse/STDCXX-333 Project: C++ Standard Library Issue Type: Bug Components: 27. Input/Output Affects Versions: 4.1.3 Environment: gcc 3.2.3 on Linux Reporter: Mark Brown I get an an abort when I run the following program on Linux. #include cassert #include fstream #include iostream int main () { { std::filebuf fb; fb.open (file, std::ios::out); fb.sputc ('a'); } std::wfilebuf fb; fb.pubimbue (std::locale (en_US.UTF-8)); fb.open (file, std::ios::in); const int c[] = { fb.sbumpc (), fb.sgetc () }; std::cout c [0] ' ' c [1] std::endl; assert (L'a' == c [0]); assert (std::wfilebuf::traits_type::eof () == c [1]); } test: test.cpp:21: int main(): Assertion `std::wfilebuf::traits_type::eof () == c [1]' failed. Aborted
Re: [jira] Commented: (STDCXX-333) std::wfilebuf extracts more than 1 character from a 1 byte file
Martin Sebor wrote: Mark Brown wrote: I decided to look into this as an exercise in stdcxx debugging and managed to figure out how to get around the error and generate the en_US.UTF-8 locale. Great! Thanks for the detective work! The change I made to make it work is in the attached patch file. Let me know if this is the correct format for patches or if you prefer something else. I should have mentioned: when posting patches to the list please start the subject line with the string [PATCH] to make it stand out. It's also good to give the email a descriptive title, or change it to one when following up on an unrelated topic (as in this case :) Read the section below for more on how to submit patches: http://incubator.apache.org/stdcxx/bugs.html#patches Martin I don't see the patch. Did you forget to attach it? (Sometimes the attachments end up getting stripped by ezmlm even though they shouldn't). If it's small, you might want to paste it directly into your mail. Otherwise you might need to post it somewhere (e.g., on your web page or in the issue itself). Incidentally, the original test program for stdcxx-333 runs fine on Cygwin with the en_US.UTF-8 locale so the error must be unique to Linux. Hmm. Very odd. Martin -- Mark -Original Message- From: [EMAIL PROTECTED] Sent: Mon, 19 Feb 2007 12:51:24 -0800 To: stdcxx-dev@incubator.apache.org, stdcxx-dev@incubator.apache.org Subject: Re: [jira] Commented: (STDCXX-333) std::wfilebuf extracts more than 1 character from a 1 byte file -Original Message- From: [EMAIL PROTECTED] Sent: Mon, 19 Feb 2007 13:35:19 -0700 To: stdcxx-dev@incubator.apache.org Subject: Re: [jira] Commented: (STDCXX-333) std::wfilebuf extracts more than 1 character from a 1 byte file Mark Brown (JIRA) wrote: [ https://issues.apache.org/jira/browse/STDCXX-333?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12474266 ] Mark Brown commented on STDCXX-333: --- I tried to see if I could reproduce this problem on Cygwin. My version of Cygwin doesn't have any locales so I tried to generate the en_US.UTF-8 locale using the stdcxx localedef program. I got this error: nls$ ../bin/localedef -c -f /home/mbrown/stdcxx/etc/nls/charmaps/UTF-8 -i /home/mbrown/stdcxx/etc/nls/src/en_US en_US.UTF-8 call to system LC_ALL=C /usr/bin/locale -a /tmp/tdf4.0 2/dev/null: No such file or directory Hangup This looks like an unrelated problem. Could you open a new issue for it? Sure. Here it is: https://issues.apache.org/jira/browse/STDCXX-340. Mark Thanks Martin std::wfilebuf extracts more than 1 character from a 1 byte file --- Key: STDCXX-333 URL: https://issues.apache.org/jira/browse/STDCXX-333 Project: C++ Standard Library Issue Type: Bug Components: 27. Input/Output Affects Versions: 4.1.3 Environment: gcc 3.2.3 on Linux Reporter: Mark Brown I get an an abort when I run the following program on Linux. #include cassert #include fstream #include iostream int main () { { std::filebuf fb; fb.open (file, std::ios::out); fb.sputc ('a'); } std::wfilebuf fb; fb.pubimbue (std::locale (en_US.UTF-8)); fb.open (file, std::ios::in); const int c[] = { fb.sbumpc (), fb.sgetc () }; std::cout c [0] ' ' c [1] std::endl; assert (L'a' == c [0]); assert (std::wfilebuf::traits_type::eof () == c [1]); } test: test.cpp:21: int main(): Assertion `std::wfilebuf::traits_type::eof () == c [1]' failed. Aborted
[jira] Commented: (STDCXX-333) std::wfilebuf extracts more than 1 character from a 1 byte file
[ https://issues.apache.org/jira/browse/STDCXX-333?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12469901 ] Martin Sebor commented on STDCXX-333: - How odd. I can reproduce this but only intermittently and with different results: $ while [ $? -eq 0 ]; do ./t; done; true; while [ $? -eq 0 ]; do ./t; done 97 -1 97 -1 97 -1 97 -1 97 8 t: t.cpp:21: int main(): Assertion `std::wfilebuf::traits_type::eof () == c [1]' failed. Aborted 97 -1 97 -1 97 -1 97 -1 97 -1 97 -1 97 104 : t.cpp:21: int main(): Assertion `std::wfilebuf::traits_type::eof () == c [1]' failed. Aborted std::wfilebuf extracts more than 1 character from a 1 byte file --- Key: STDCXX-333 URL: https://issues.apache.org/jira/browse/STDCXX-333 Project: C++ Standard Library Issue Type: Bug Components: 27. Input/Output Affects Versions: 4.1.3 Environment: gcc 3.2.3 on Linux Reporter: Mark Brown I get an an abort when I run the following program on Linux. #include cassert #include fstream #include iostream int main () { { std::filebuf fb; fb.open (file, std::ios::out); fb.sputc ('a'); } std::wfilebuf fb; fb.pubimbue (std::locale (en_US.UTF-8)); fb.open (file, std::ios::in); const int c[] = { fb.sbumpc (), fb.sgetc () }; std::cout c [0] ' ' c [1] std::endl; assert (L'a' == c [0]); assert (std::wfilebuf::traits_type::eof () == c [1]); } test: test.cpp:21: int main(): Assertion `std::wfilebuf::traits_type::eof () == c [1]' failed. Aborted -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.