Thursday, August 10, 2006

Critical bugs fixed. RC3 is on the way...

Hi all,

These past 10 days, Josh Cooley fixed and helped to fix a lot of critical bugs on Npgsql! Here are they:

Josh Cooley fixed a bug when dealing with concurrent connection establishment using Npgsql RC2. When I implemented ConnectionTimeout support for connection establishment, I was incorrectly using an instance variable with a singleton object :(
This was leading to some nasty problems like this.

Here is the relevant stack trace:

Npgsql.NpgsqlException:
Operation not allowed on non-connected sockets.
at Npgsql.NpgsqlClosedState.Open(NpgsqlConnector context)
at Npgsql.NpgsqlConnector.Open()
at Npgsql.NpgsqlConnectorPool.GetNonPooledConnector(NpgsqlConnection Connection)
at Npgsql.NpgsqlConnectorPool.RequestConnector(NpgsqlConnection Connection)
at Npgsql.NpgsqlConnection.Open()


Another problem, this time with async notification support, was that Npgsql wasn't handling correctly the notification message sent from server when async notification was off. This was leading to nasty exceptions from Npgsql about "this stream doesn't not support seek operation". More information about this bug can be found here. Josh Cooley had a critical role here as his observations about some details on code while struggling to fix this bug lead us to find the culpirit. Thank you, Josh! This is the root stack trace:

System.NotSupportedException: This stream does not
support seek operations.
at System.Net.Sockets.NetworkStream.Seek(Int64 offset, SeekOrigin origin)
at System.IO.BufferedStream.FlushRead()
at System.IO.BufferedStream.WriteByte(Byte value)
at Npgsql.NpgsqlQuery.WriteToStream(Stream outputStream, Encoding encoding)
at Npgsql.NpgsqlReadyState.Query(NpgsqlConnector context, NpgsqlCommand command)
at Npgsql.NpgsqlConnector.Query(NpgsqlCommand queryCommand)
at Npgsql.NpgsqlCommand.ExecuteCommand()
at Npgsql.NpgsqlCommand.ExecuteNonQuery()


One thing worth noting here is that if you look closer, this exception is caused because BufferedStream, when flusing the stream, calls Seek method! It seems FlushRead() doesn't check if the stream passed can seek or not. This error only happens on ms.net, 1.1 and 2.0.
Mono correctly checks if stream can seek when flushing the stream and doesn't throw the exception.

So, if you are being affected by some of these bugs ( or all of them :) ) and need an urgent fix, please grab a copy of cvs and give it a try. Otherwise, RC3 release is on the way with those fixes.

Sorry for any problem this may have caused to you.

12 comments:

Dave Edwards said...

Thanks for the notice, I cover it in the current Log Buffer.

Anonymous said...

徵信, 徵信社, 感情挽回, 婚姻挽回, 挽回婚姻, 挽回感情, 徵信, 徵信社, 徵信, 捉姦, 徵信公司, 通姦, 通姦罪, 抓姦, 抓猴, 捉猴, 捉姦, 監聽, 調查跟蹤, 反跟蹤, 外遇問題, 徵信, 捉姦, 女人徵信, 外遇問題, 女子徵信, 外遇, 徵信公司, 徵信網, 徵信, 徵信社, 外遇蒐證, 抓姦, 抓猴, 捉猴, 調查跟蹤, 反跟蹤, 感情挽回, 挽回感情, 婚姻挽回, 挽回婚姻, 感情挽回, 外遇沖開, 徵信, 徵信, 徵信社, 抓姦, 徵信, 徵信社, 外遇蒐證, 外遇, 通姦, 通姦罪, 贍養費, 徵信, 徵信社, 徵信社, 抓姦, 徵信社, 徵信社, 徵信, 徵信, 徵信公司, 徵信社, 徵信, 徵信公司, 徵信社, 徵信社, 徵信社, 徵信社, 徵信社, 徵信公司, 徵信社, 徵信, 徵信, 徵信公司, 女人徵信, 外遇, 外遇, 外遇, 外遇

徵信, 徵信網, 徵信社, 徵信網, 徵信, 徵信社, 外遇, 徵信, 徵信, 徵信社, 抓姦, 徵信, 徵信社, 外遇, 徵信社, 抓姦, 徵信社, 徵信公司, 徵信, 徵信社, 徵信公司, 徵信, 徵信社, 徵信公司, 徵信社, 徵信社, 徵信社, 徵信社, 徵信, 徵信社, 徵信社, 徵信社, 徵信,

Anonymous said...

wow gold | world of warcraft gold | wow power leveling | Cheap WoW Gold | Cheapest WoW Gold | Buy Cheap WoW Gold | cheapest wow gold | Buy WoW Gold | sell wow gold | WoW Accounts | wow accounts for sale | Buy WoW Power Leveling | Wow Honor Leveling | WoW profession leveling | WoW Reputation Leveling | WoW CD Key | WOW EU Gold | Cheap WoW Gold | wow gold for sale | Cheap WoW Power Leveling | WoW EU Accounts | world of warcraft accounts for sale | WoW EU CD Key | Lineage 2 Adena | Buy L2 Adena | Lineage 2 Adena for sale | Lineage 2 Accounts | Lineage 2 Power Leveling | Lineage 2 CD Key | Warhammer gold | Buy Warhammer Gold | Warhammer US Gold | Warhammer Power leveling | Warhammer CD Key | Warhammer Accounts | Warhammer EU Gold | Buy Cheap Warhammer Gold | WAR EU Gold | Buy Warhammer Power Leveling | Warhammer Online Accounts | Warhammer EU CD key | Aion gold | fast delivery Aion Gold | Aion Accounts | Aion Power Leveling | Aion CD Key | runes of magic gold | cheap runes of magic gold | runes of magic accounts | runes of magic power leveling | runes of magic cd key | runes of magic online gold | buy runes of magic eu gold | wow cheats | rom power leveling | runes of magic eu accounts for sale | cheap runes of magic cd key | FFXI Gil | Cheap FFXI Gil | Final Fantasy XI Gil | FFXI Power Leveling | FFXI CD Key | LoTRO Gold | Cheap Lotro Gold | LoTRO US Gold | LoTRO Accounts | Lotro accounts for sale | LoTRO Power Leveling | LoTRO CD Key | LoTRO EU Gold | Lord of the Rings Gold | LoTRO EU Accounts | Lotro Leveling | Lord of the Rings CD Key | Age of Conan gold | AoC US Gold | Cheap AoC Gold | Age of Conan Accounts | Age of Conan Power Leveling | Age of Conan Crafting Leveling | Age of Conan CD Key | Age of Conan EU Gold | Age of Conan Gold For Sale | Age of Conan Leveling | Age of Conan Accounts For Sale | AoC CD Key | The Chronicles of Spellborn Gold | Chronicles of Spellborn Gold | Chronicles of Spellborn Accounts | Chronicles of Spellborn Power Leveling | Chronicles of Spellborn CD key | atlantica gold | buy atlantica gold | atlantica power leveling | atlantica cd key | darkfall gold | buy darkfall gold | darkfall accounts | darkfall power leveling | darkfall cd key | silkroad gold | silkroad online gold | cheap silkroad gold | silkroad power leveling | Maple Story Mesos | Buy Maplestory Mesos | Maple Story Power Leveling | EVE ISK | EVE Online ISK | Cheap EVE ISK | EVE Power Leveling | EVE CD Key | EverQuest 2 Platinum | EverQuest 2 Gold | EQ2 Gold | EverQuest 2 Accounts | EverQuest 2 Power Leveling | EverQuest 2 CD Key

rong2009 said...

搬家 搬家 搬家公司 搬家 搬家 票貼 借款 徵信社 徵信 補習班 多益 留學 在職進修 婚紗 補正下着 新娘秘書 汽車旅館 室內設計 室內設計 中古車買賣 植牙 坐月子 婚禮佈置 催眠 派報 漆彈 視訊會議 真空成型 Shade sail nike shoes MBA 在职研究生 在职博士 關鍵字廣告 租屋 花蓮民宿 花蓮民宿 花店 花店 花蓮民宿 租房子 xo醬 牛軋糖 牛嘎糖 代償 房屋貸款 信用貸款 失眠 減肥 糖尿病 血壓計 日立家電 體脂計 外遇 離婚 抓姦 外遇蒐證 外遇抓姦 侵權 仿冒 應收帳款 工商徵信 徵信 徵信社 外遇 徵信 徵信社 外遇 电动隔膜泵 自吸泵 化工泵 离心泵 磁力泵 螺杆泵 水泵 隔膜泵 气动隔膜泵 白蟻

百家乐 轮盘 21点 德州扑克 百家乐系统 真人娱乐场 百家乐 足球 德州扑克 电子游戏 英格兰超级联赛 德国甲组联赛 意大利甲组联赛 西班牙甲组联赛 法国甲组联赛欧冠杯 英超 足球比分 足球彩票 体育彩票 即时比分 免費a片 a片 免費av 色情影片 情色 情色網 色情網站 色情 成人網 成人圖片 成人影片 18成人 av av女優 av av女優 情慾 走光 做愛 sex H漫 情色 情趣用品 情色 a片 a片 成人網站 成人影片 情趣用品 情趣用品 アダルト アダルト アダルトサイト アダルトサイト 情趣用品

睡眠障礙 憂鬱症 躁鬱症 減重 瘦身 中醫減肥 台北中醫減肥 台中中醫減肥 高雄中醫減肥 產後減肥 下半身減肥 下半身瘦身 高雄眼鏡 屏東眼鏡 名牌眼鏡 太陽眼鏡 隱形眼鏡 鐵氟龍 PTFE 中壢花店 林口花店 南崁花店 金莎花束 歌倫比亞 飲料加盟 太陽餅 月餅 口袋秤 度量衡 吊秤 吊磅 電子秤 磅秤 口袋秤 度量衡 吊秤 吊磅 電子秤 磅秤 招牌製作 招牌設計 廣告招牌 大圖輸出 電腦割字 招牌看板 廢鐵 廢銅 廢不銹鋼 廢電線 廢鋁 廢棄物 廢電纜電線 廢塑膠 制服 成衣 戒指 耳環 項鍊 對戒 手鍊 銀飾 飾品 對鍊 護理之家 台中花店 考試 塑膠箱 塑膠容器 工具箱 物流箱 拖板車 自動倉儲 倉儲設備 自行車衣 自行車背包 自行車手套 車衣 債務更生 債務清理 法協 蜂蜜 蜂王乳花粉 農產品 草本膠囊 促進新陳代謝 排便順暢的方法 體內環保 塑膠射出 塑膠製品 塑膠箱籃 物流塑膠箱 休閒傢俱 庭園圍籬 高雄棺木 高雄壽衣 高雄禮儀用品

正享 said...

專業合法驅除白蟻 除白蟻 白蟻防治 跳蚤 除跳蚤 跳蚤防治 蛀蟲 除蛀蟲 蛀蟲防治 白蟻 除白蟻 白蟻防治 跳蚤 除跳蚤 跳蚤防治 蛀蟲 除蛀蟲 蛀蟲防治 除蟲 除蟲

bobo said...

tn chaussuresEnter the necessary language translation, up to 200 bytes winter, moves frequently in China, showing that the deep strategy of the Chinese market. Harvard Business School, according to the relevant survey data show that in recent years the Chinese market three brands nike chaussures, Adidas, Li Ning market share at 21 percent, respectively, 20%, 17%. The brand is first-line to three lines of urban competition for mutual penetration. Side of theworld,announced layoffs, nike tnwhile China's large-scale facilities fists. The sporting goods giant Nike's every move in the winter will be fully exposed its strategy. Years later, the Nike, Inc. announced the world's Fanmens clothingpolo shirts

Kevin said...

牙醫,植牙,矯正,紋身,刺青,創業,批發,皮膚科,痘痘,中醫,飛梭雷射,毛孔粗大,醫學美容,seo,關鍵字行銷,關鍵字自然排序,網路行銷,關鍵字自然排序,關鍵字行銷seo,關鍵字廣告,部落格行銷,網路行銷,seo,關鍵字行銷,關鍵字廣告,關鍵字,自然排序,部落格行銷,網路行銷,網路爆紅,牛舌餅婚紗台中婚紗,腳臭,腳臭,腳臭,腳臭,腳臭,腳臭,腳臭,中古車,二手車,中古車,二手車,高雄婚紗,街舞,融資,借貸,借錢,小產,雞精

花蓮租車 said...

花蓮租車公司,花蓮旅遊租車,花蓮,租車,花蓮租車公司,花蓮旅遊,花蓮租車公司,行易花蓮租車,租車網,花蓮旅遊租車,花蓮租車,花蓮,花蓮,租車,花蓮 租車,泛舟,花蓮租車,泛舟,花蓮溯溪,花蓮泛舟行程,花蓮溯溪旅遊,租車,花蓮一日遊,租車,花蓮旅遊,花蓮租車網,花蓮租車旅遊網,花蓮一日遊,花蓮租車公司,花蓮 旅遊 租車,花蓮 租車,花蓮,花蓮租車網,租車,花蓮 租車,花蓮租車,花蓮美食,花蓮租車,花蓮租車,花蓮租車,花蓮旅遊,花蓮租車,花蓮租車,租車,花蓮租車,花蓮租車,花蓮租車,花蓮旅遊,花蓮租車,花蓮租車,花蓮 租車,旅遊,花蓮,租車,花蓮旅遊,花蓮,租車,旅遊,地圖,花東,租車

花蓮租車 said...

花蓮旅遊景點,花蓮,花東,租車,花蓮 租車,花東旅遊,花蓮租車公司,花蓮旅行社,花蓮租車網,花蓮行程,花蓮地圖,花蓮租車公司,租車,花蓮租車旅遊網,花蓮 租車,花蓮旅遊租車,花蓮租車資訊網,旅遊景點,租車旅遊,租車公司,租車網,花蓮包車,花蓮旅遊,租車 花蓮,花蓮旅遊網,賞鯨,花蓮旅遊租車,租車,花蓮租車旅遊,花蓮租車公司,花蓮租車旅遊資訊網,花蓮租車旅遊,旅遊,花蓮旅遊景點,花東旅遊,花蓮泛舟,租車旅遊,花蓮租車,賞鯨,花蓮泛舟,花蓮溯溪,花蓮旅遊,租車,花蓮租車,花蓮租車,花蓮租車,花蓮租車,花蓮一日遊,花蓮租車公司,花蓮租車,花蓮租車,花蓮一日遊,花蓮租車,花蓮旅遊地圖,花蓮租車,花蓮行程,花蓮租車

花蓮租車 said...

花蓮吉安慶修院,花蓮景點,花蓮旅遊,花蓮,鯉魚潭,花蓮太魯閣,砂卡礑,合歡山,九曲洞,七星柴魚博物館,花蓮碼頭,瑞穗牧場,台東景點,安通溫泉,花蓮旅遊景點,立川漁場,太魯閣,太魯閣豁然亭,台東旅遊景點,七星潭

crazyloko said...

buy products wholesaleThis phenomenom is typified by China Wholesalersthe rise ofbusiness. Incredible range of products available with China Wholesale “Low Price and High Quality” not only reaches directly to their target clients worldwide but also ensures that wholesale from china from China means margins you cannot find elsewhere and China Wholesale will skyroket your profits.china wholesale productsbuy china wholesalewholesale chinawholesale productsbuy products

Gigi said...

$75 Replica Rolex Watches sale, Our site provides Rolex replica, replica Rolex Watches, replica breitling, replica Cartier, replica Omega, Tag Heuer Watches. . .more than 100 famous rolex brands"
rolex air king
rolex datejust
rolex day date
rolex daytona
rolex gmt
rolex submariner
rolex yachtmaster
a lange sohne watches
alain silberstein watches
bell ross watches
breguet watches
breitling watches
bvlgari watches
cartier watches
omega watches
patek philippe watches
ロレックスレプリカ
ロレックスコピー